Android系统分区和目录结构

时间:2021-04-11 15:43:30

前言

由于分到底层团队,仅仅会写Android代码是不够的,还需要了解Android的整体架构,理解Android Build系统,能够自己刷机自己移植rom,哎,我一个服务器端程序员面对的都是新鲜的知识,其实还是挺兴奋的。介绍一下Android的目录结构,自己也是边写边记忆边学习,参考学习了很多篇文章。

原文链接

转载注明出处:http://androiddeveloper.diandian.com/post/2013-10-17/40055678559

声明一下,我是在看了原文的前提下,对文章结构做了部分调整,但是主要内容仍是原文内容。

Android分区

可通过adb shell中使用df命令查看:

Android系统分区和目录结构

Android的主要分区主要有:system、data、cache、sdcard分区。

注意:跨分区移动文件无法使用mv指令,会报出类似的错误“failed on '1.txt' - Cross-device link”,可以使用cp指令代替

分区简介:
  1. system分区:就是我们刷ROM的分区
  2. data分区:我们装apk的分区
  3. cache分区:缓存分区
  4. sdcard分区:就是挂载的sd卡

Data分区

data分区常用目录有:app、system、data、local、misc。

/data/data/:存放所有apk程序数据的目录,每个apk对应一个自己的数据目录,就在/data/data目录下,生成一个跟package同名的目录。例如,apk包名为com.example.listview,则在/data/data目录下会有一个com.example.listview目录,每个apk只能操作自己的数据目录。

/data/apk/:用户自己安装的apk放在这个目录下。如果我们把apk放在该目录下,就算安装好了,这就叫做静默安装。不用管APK文件里lib目录下的库文件,系统会自动帮我们放入调用库的。

/data/system/:记录手机安装信息等文件的目录。

/data/misc/:保存wifi账号和vpn等配置信息的目录。


system分区

system分区常用目录有:app、lib、bin、xbin、media、framework。

/system/app/:存放系统自带的apk。在有root权限的情况下,将apk直接放在/system/app/目录下,也算静默安装,并且是系统应用。

/system/lib/:存放apk用到的库文件。

/system/bin/和/system/xbin/:存放shell命名。

/system/framework/:启动Android系统所用到的框架,如一些jar文件