1.Android系统分区

2.根文件系统目录结构

cache :是缓存临时文件夹,

etc :指向 /system/etc ,众所周知的配置文件存放目录

system :是Android根文件系统中一个很重要的目录,系统中的大部分东西都在这里了

sys:用于挂载 sysfs文件系统。。

proc :/proc 文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。

mnt:U盘等外部存储设备挂载路径

data :存放用户安装的软件以及各种数据。

dev :设备节点文件的存放地。

tmp:写权限最近在做一个项目,需要应用将一个程序(比如testcmd)放到/data/local/tmp中执行。

storage:外部SD卡所在目录

Init: 是系统启动到文件系统的时候第一个运行的程序

init.rc :系统初始化脚本

Android中的内核启动后,kernel会启动第一个用户级别的进程:init,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程。

2.2.2---init 进程

Init源码位置:JB目录下system/core/init/init.c中。

Init作用:

(1)、 创建一些linux根文件系统中的目录

(2)、读取并且解析init.rc文件

(3)、读取并且解析硬件相关的init.magellanbroad.rc脚本文件

(4)、初始化动态设备管理,设备文件有变化时反应给内核

(5)、启动系统属性服务: system property service

(6)、启动init.rc中定义的boot 等各种action和service.

………

2.2.2---system目录结构

System 目录结构分析

\system\app

这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件, 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\app。

\system\bin

这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件

\system\etc

从文件夹名称来看保存的都是系统的配置文件

\system\fonts

字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库

\system\framework

framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架

\system\lib

lib目录中存放几乎所有的共享库(.so)文件

\system\media

铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音

\system\xbin

系统员管理工具

build.prop

系统全局属性

……..

…….

特别说明:

build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件。

1、查看build.prop

#getprop

……

[ro.secure]: [0]

[ro.serialno]: []

[ro.sf.lcd_density]: [160]

[ro.wifi.channels]: [14]

[service.adb.tcp.port]: [5555]

[service.bootanim.exit]: [1]

[sys.boot_completed]: [1]

[sys.usb.config]: [adb]

…..

# getprop ro.sf.lcd_density  //查看单个属性

2、设置属性

#setprop ro.sf.lcd_density  240

一、替换android系统文件

分别可通过U盘copy 和adb push等方式替换

U盘里放需要替换的文件

1、  U盘插进板子USB接口、usb会自动mount在系统跟目录的/mnt/udisk目录下

2、  先删除掉系统中需要替换的文件

3、  命令cp 相应文件到自己的目录

adb push方式

1、  adb连接设备

2、  adb push 本地替换文件目录  android系统相关目录

 

ps:替换android 系统apk(atv.apk)

1、 系统apk 存放在/system/app目录下,系统system分区默认为只读的,首选需要重新mountsystem 目录 成为可读写

#mount –o remount rw /system

2、 删除atv.apk

#rm /system/app/atv.apk

如需为了push进系统的apk里面生效我们还需删除掉apk在/data/data目录下生成的相应数据

#pm install com.realtek.atv

3、  push 新的apk进系统

#adb push d:\atv.apk /system/app

 

二、 android 独立模块的编译(apk、so、jar档等)

android的编译命令有m mm mmm等三个编译命令

m:编译所有的模块 
mm:编译当前目录下的模块,当前目录下要有Android.mk文件 
mmm:编译指定路径下的模块,指定路径下要有Android.mk文件

想使用这些命令,首先需要在android源码根目录执行.build/envsetup.sh 脚本设置环境

#source ./build/envsetup.sh或者#. build/envsetup.sh

Ps:

1、编译apk    Y:\Workspace\kernel\android\JB\device\realtek\app\atv

phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$ TARGET_PRODUCT=magellan_tv010 mmm ./device/realtek/apps/Atv/

将会在下面的目录下生成atv.apk

Y:\Workspace\kernel\android\JB\out\target\product\magellan_tv010\system\app/atv.apk

2、编译jar档Y:\Workspace\kernel\android\JB\frameworks\base\services\java

phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$ TARGET_PRODUCT=magellan_tv010 mmm ./ frameworks/base/services/java

将会在下面的目录下生成services.jar

Y:\Workspace\kernel\android\JB\out\target\product\magellan_tv010\system\framework\ services.jar

为了每次都要输入TARGET_PRODUCT对应的产品编号可以做如下操作:

phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$lunch

You're building on Linux

Lunch menu... pick a combo:

……

13.rtk_magellan_tv001-eng

14. magellan_tv010-eng

…….

Which would you like? [full-eng] 14

….

phoenix@rtkPhoenix:~/Workspace/kernel/android/JB$

android根文件系统目录结构相关推荐

  1. Android 10 根文件系统和编译系统(一):根文件系统目录结构

    配套系列教学视频链接: Android 10.0 AOSP源码编译:https://edu.csdn.net/course/detail/35479 Android 10.0 根文件系统和编译系统:h ...

  2. linux根文件系统目录结构

    一.介绍 linux根文件系统也就是我们平时所说的rootfs,所有的文件都要在文件系统下才能被识别,包括所有的配置文件,这里介绍一下根文件系统目录结构 二.总统结构 /bin:linux的常用命令 ...

  3. Linux 根文件系统目录结构与功能,4.Linux根文件系统和目录结构及bash特性

    4.1Linux目录结构和根文件系统全面讲解 Linux文件系统: Linux:glibc 程序编译方式: 动态链接 静态编译 进程的类型: 终端:硬件设备, 关联一个用户接口 与终端相关:通过终端启 ...

  4. linux 源码目录结构 文件系统目录结构

    学习Linux也有一段时间了,具体来整理一下Linux源码的目录结构和文件系统的目录结构,以便加深记忆. 一.Linux源码的目录结构 首先上一张截图,如下所示: 再看各个文件的介绍,借用一下其他资源 ...

  5. 文件系统(文件系统目录结构、磁盘分区、虚拟文件系统)、linux内核结构框图

    什么是文件系统? 常规认知就是根目录下那些文件,但其实并不是那样.文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构:即在存储设备 ...

  6. Linux下文件系统目录结构

    Linux 文件系统目录结构简介 对于Linux来讲它的树型结构与Windows不同,Windows可以有多个分区,每个分区都有根,但Linux 只有一个根,其他的所有文件.目录或硬盘分区.软盘.光盘 ...

  7. 文件系统目录结构(Linux)

    文件系统目录 概述 一.文件系统结构 1. 什么是文件系统目录结构? 2.具体有: 二.文件类型 三. 文件系统(文件管理系统的方法)的种类有哪些? 四. 什么是分区? 五.虚拟文件系统Virtual ...

  8. Linux源码目录结构和Linux文件系统目录结构

    学习Linux也有一段时间了,具体来整理一下Linux源码的目录结构和文件系统的目录结构,以便加深记忆. 一.Linux源码的目录结构 首先上一张截图,如下所示: 再看各个文件的介绍,借用一下其他资源 ...

  9. 【Linux】第三部分 Linux文件系统目录结构

    [Linux]第三部分 Linux文件系统目录结构 文章目录 [Linux]第三部分 Linux文件系统目录结构 3. Linux文件系统目录结构 总结 3. Linux文件系统目录结构 可以右键打开 ...

最新文章

  1. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?
  2. [No0000176]Git常用命令速查表(收藏大全)
  3. ASP.NET Core Controller与IOC的羁绊
  4. RxJava + Java8 + Java EE 7 + Arquillian =幸福
  5. git粘贴命令行_如何使用git检测复制和粘贴代码?
  6. nodejs接收表单写入mysql_NodeJS提交表单存数据库(转)
  7. 应用程序池优化配置方案(IIS7、IIS7.5)
  8. 1、绪论初识机器学习
  9. 关系型数据库 vs 非关系型数据库
  10. web之表单form
  11. Mysql——数据查询
  12. Python 学习笔记 (1)输出语句
  13. Vue 常用前端UI框架
  14. 计算机考研复试题(近十万字)
  15. import itchat ModuleNotFoundError: No module named 'itchat'
  16. 阿里云ACE 架构师 认证指南
  17. AES256加解密java语言实现
  18. Strtok的使用方法
  19. 常见监控摄像头专业术语(码流、分辨率、帧率)详解
  20. runtime 黑魔法

热门文章

  1. java简单的增删改查项目 ATM机
  2. spring-bean
  3. 数据预测之BP神经网络具体应用以及matlab代码(转)
  4. 高德坐标系转天地图坐标系(GCJ02转WGS坐标系)
  5. oracle sy imp,oracle逻辑备份imp/exp 示例用法【转】
  6. excel将一个工作表根据条件拆分成多个工作表图文教程
  7. 集群策略--集群(clustering)
  8. 应用JavaFX实现的填字游戏
  9. 微信小程序:十二星座运势查询
  10. 阿里巴巴、百度前端工程师 2015 暑期实习生面试经历