Android 系统文件结构

#移动开发 #Android

一、镜像文件 image

1. 如何得到镜像文件

  1. 编译 android 源码之后,在 out/target/product/generic 产生
    ramdisk.img、system.img、userdata.img

  2. SDK 的 platforms/android-*/images
    ramdisk.img、system.img、userdata.img

2. 各镜像文件的含义

  1. system.img 是由 system 目录打包压缩得到的,以只读方式挂载。

  2. userdata.img 是由 data 目录打包压缩得到的,以读写方式挂载,用于存放用户数据,用户安装的软件包在被装在这里。

  3. ramdisk.img 是模拟器的文件系统,把 ramdisk.img 解压出来可知道,ramdisk.img

里的文件和根文件夹的文件基本一样。

3. 镜像文件的挂载顺序
模拟器装载 ramdisk.img 并解压到内存,接着分别把 system.img 和 userdata.img 挂载到 ramdisk

下的 system 和 data 目录。

4. 如何更改系统的镜像文件

  1. 模拟器
    运行模拟器时指明镜像文件名参数,可以使用新生成的镜像文件

  2. 真机
    通过烧写替换原有镜像文件

** 二、** ** 系统目录说明 ** ****

** 1. ** ** 应用程序安装目录 ** ****

** 1) ** ** 系统应用程序所在目录
/system/app/*.apk **

** 2) ** ** 用户安装应用程序所在目录
/data/app/*.apk **

  1. 注意:
  1. 在模拟器中,每重启一次,/system/app/ 下的应用都会被还原,有时 /data/app 下也会被清除

** b) ** 若在 /system/app 和 /data/app 下有重名的应用,不一定会启动哪一个,尤其是在 adb install

杀死正在运行的程序时,有时旧的就会被启动 ****

2. 用户数据所在目录
/data/data/ 应用包名 /shared_prefs 配置文件
/data/data/ 应用包名 /databases/* 库文件所在目录

3. SD 卡对应目录
/sdcard/