zoukankan      html  css  js  c++  java
  • android4.0 x86编译生成文件系统镜像system.img结构简介

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

    原文链接:http://www.cnblogs.com/sunshinewill/archive/2012/05/26/2519355.html

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

     

    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编译内核也可达到同样目的。

  • 相关阅读:
    电商项目(上)
    Java开发快速上手
    iOS 总结网页常用的东西
    osstatus -9801 workerman websocket 小程序不带端口
    ListView+EditText使用遇到的坑
    关于微信浏览器不支持offset()的兼容性处理
    关于TS返回 Can't use function return value in write context 问题
    tableView刷新中的问题
    解决 ecshop 搜索特殊字符关键字(如:*,+,/)导致搜索结果乱码问题
    新用户注册用户名可以被修改导致其他平台出现相关问题
  • 原文地址:https://www.cnblogs.com/sunshinewill/p/2519355.html
Copyright © 2011-2022 走看看