前言
由于分到底层团队,仅仅会写Android代码是不够的,还需要了解Android的整体架构,理解Android Build系统,能够自己刷机自己移植rom,哎,我一个服务器端程序员面对的都是新鲜的知识,其实还是挺兴奋的。介绍一下Android的目录结构,自己也是边写边记忆边学习,参考学习了很多篇文章。
原文链接
转载注明出处:http://androiddeveloper.diandian.com/post/2013-10-17/40055678559
声明一下,我是在看了原文的前提下,对文章结构做了部分调整,但是主要内容仍是原文内容。
Android分区
可通过adb shell中使用df命令查看:
Android的主要分区主要有:system、data、cache、sdcard分区。
注意:跨分区移动文件无法使用mv指令,会报出类似的错误“failed on '1.txt' - Cross-device link”,可以使用cp指令代替
分区简介:
- system分区:就是我们刷ROM的分区
- data分区:我们装apk的分区
- cache分区:缓存分区
- 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文件