本文简单介绍android4.0 x86 编译生成文件中system.img文件系统镜像结构,简要说明定制裁剪中通过对镜像的修改实现某功能移出的方法

 本文简单介绍system.img文件系统镜像结构,简要说明定制裁剪中通过对镜像的修改实现某功能移出的方法。


out/target/product/generic_x86目录下,挂载system.img文件到/mnt目录,下图为system.img文件内容:

android bin镜像 安卓镜像文件_all

 

app

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

应用举例:

\AlarmClock.apk 闹钟
\Browser.apk 浏览器
\Bugreport.apk 错误报告
\ Calculator.apk 计算器

bin

目录下的文件都是系统的本地程序,是binary二进制的程序,主要是Linux系统自带的组件:
\app_process 系统进程
\dalvikvm Dalvik虚拟机宿主
\dbus-daemon 系统BUS总线监控
\debuggerd 调试器
\debug_tool 调试工具
\dexopt DEX选项
\dhcpcd DHCP服务器

etc

配置文件,如:

\bluetooth 蓝牙设备配置文件

fonts

字体,中文字库,unicode字库等

\fonts\DroidSans-Bold.ttf

\fonts\DroidSansFallback.ttf

framework

平台框架,如:

\am.jar
\am.odex
\android.awt.jar AWT库
\android.awt.odex

lib

系统运行库,如:

\libaes.so 
\libagl.so
\libandroid_runtime.so Android运行时库
\libandroid_servers.so 系统服务组件
\liba io.so 音频处理
\liba ioeq.so EQ均衡器
\liba ioflinger.so 音频过滤器
\libbltooth.so 蓝牙组件

media

各种铃声,系统提示音等

usr

用户文件夹,包含共享、键盘布局、时间区域文件等。

\keychars
\keylayout
\share
\srec

 在文件系统中,android4层架构显现的很明显:app应用,framework框架,lib运行库。android系统4层架构(应用层,框架层,运行库层,内核层)之间,应用层通过框架对使用到库进行调用、内核负责内存管理进程调度等。通过在不同层上的裁剪可以实现部分功能的移出。例如:应用层上移出APK,相应应用无法使用;运行库层移出运行所需的库文件,所有调用该库文件均报错不能执行;在内核层上,通过config编译内核也可达到同样目的。