本文简单介绍android4.0 x86 编译生成文件中system.img文件系统镜像结构,简要说明定制裁剪中通过对镜像的修改实现某功能移出的方法
本文简单介绍system.img文件系统镜像结构,简要说明定制裁剪中通过对镜像的修改实现某功能移出的方法。
out/target/product/generic_x86目录下,挂载system.img文件到/mnt目录,下图为system.img文件内容:
app | 主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件,在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。 应用举例: \AlarmClock.apk 闹钟 |
bin | 目录下的文件都是系统的本地程序,是binary二进制的程序,主要是Linux系统自带的组件: |
etc | 配置文件,如: \bluetooth 蓝牙设备配置文件 |
fonts | 字体,中文字库,unicode字库等 \fonts\DroidSans-Bold.ttf \fonts\DroidSansFallback.ttf |
framework | 平台框架,如: \am.jar |
lib | 系统运行库,如: \libaes.so |
media | 各种铃声,系统提示音等 |
usr | 用户文件夹,包含共享、键盘布局、时间区域文件等。 \keychars |
在文件系统中,android4层架构显现的很明显:app应用,framework框架,lib运行库。android系统4层架构(应用层,框架层,运行库层,内核层)之间,应用层通过框架对使用到库进行调用、内核负责内存管理进程调度等。通过在不同层上的裁剪可以实现部分功能的移出。例如:应用层上移出APK,相应应用无法使用;运行库层移出运行所需的库文件,所有调用该库文件均报错不能执行;在内核层上,通过config编译内核也可达到同样目的。