Android APK系列4-------Android编译APK后的系统结构
2013-11-07 13:38
351 查看
system文件夹就是system.img的解压结果,
data就是userdata.img的解压结果,
root就是ramdisk.img的解压结果。
我们常见到的boot.img就是内核+ramdisk,Android的引导过程就是通过ramdisk内的启动脚本进行,而ramdisk内的目录结构明显就是一个linux的根目录,所以启动后,将system加载到ramdisk内的system下,userdata加载到ramdisk的data下而userdata.img和system.img均是以yaffs2的格式压缩,如果直接给我们一个刷机包,我们再从源码编译了相同版本的Android,那么有一部分是可以实现替换的。
资源版块有win平台的unyaffs工具下载。这里介绍一下在linux平台如何解压缩yaffs(2)格式的文件。你可以从http://code.google.com/p/unyaffs/了解并下载这个解压yaffs的开源项目,下载prebuild的unyaffs文件放入/bin下即可使用unyaffs命令解压缩yaffs的文件(项目主页是说只能解压由
mkyaffs2image工具生成的img文件,不过解压缩system.img和userdata.img是肯定没有问题的)。最后如果我要解压缩ramdisk.img 怎么办呢?这里说一下,ramdisk.img是一个彻头彻尾的伪命名,它其实是cpio文件。在ubuntu的界面下可以通过鼠标右键的Extarct Here来解压,在命令行下通过下面几个连续的操作可以解开。
$ mv ramdisk.img ramdisk.cpio.gz
$ gzip -d ramdisk.cpio.gz
$ mkdir tmp
$ cd tmp
$ cpio -i -F ../ramdisk.cpio
此时 tmp 目录下的就是 ramdisk.img 的文件和目录了,可以根据需要编辑 init.rc 或者增
加 自己的启动画面。
压缩回 ramdisk.img
$ cpio -i -t -F ../ramdisk.cpio | cpio -o -H newc -O ../ramdisk_new.cpio
$ cd ..
$ gzip -5 -v ramdisk_new.cpio
$ mv ramdisk_new.cpio.gz ramdisk.img
前面提到的Linux平台的unyaffs工具(二进制程序,解压放入/bin下):
Windows下的yaffs2解压工具yaffs2img浏览器,可以打开system.img等文件
data就是userdata.img的解压结果,
root就是ramdisk.img的解压结果。
我们常见到的boot.img就是内核+ramdisk,Android的引导过程就是通过ramdisk内的启动脚本进行,而ramdisk内的目录结构明显就是一个linux的根目录,所以启动后,将system加载到ramdisk内的system下,userdata加载到ramdisk的data下而userdata.img和system.img均是以yaffs2的格式压缩,如果直接给我们一个刷机包,我们再从源码编译了相同版本的Android,那么有一部分是可以实现替换的。
资源版块有win平台的unyaffs工具下载。这里介绍一下在linux平台如何解压缩yaffs(2)格式的文件。你可以从http://code.google.com/p/unyaffs/了解并下载这个解压yaffs的开源项目,下载prebuild的unyaffs文件放入/bin下即可使用unyaffs命令解压缩yaffs的文件(项目主页是说只能解压由
mkyaffs2image工具生成的img文件,不过解压缩system.img和userdata.img是肯定没有问题的)。最后如果我要解压缩ramdisk.img 怎么办呢?这里说一下,ramdisk.img是一个彻头彻尾的伪命名,它其实是cpio文件。在ubuntu的界面下可以通过鼠标右键的Extarct Here来解压,在命令行下通过下面几个连续的操作可以解开。
$ mv ramdisk.img ramdisk.cpio.gz
$ gzip -d ramdisk.cpio.gz
$ mkdir tmp
$ cd tmp
$ cpio -i -F ../ramdisk.cpio
此时 tmp 目录下的就是 ramdisk.img 的文件和目录了,可以根据需要编辑 init.rc 或者增
加 自己的启动画面。
压缩回 ramdisk.img
$ cpio -i -t -F ../ramdisk.cpio | cpio -o -H newc -O ../ramdisk_new.cpio
$ cd ..
$ gzip -5 -v ramdisk_new.cpio
$ mv ramdisk_new.cpio.gz ramdisk.img
前面提到的Linux平台的unyaffs工具(二进制程序,解压放入/bin下):
Windows下的yaffs2解压工具yaffs2img浏览器,可以打开system.img等文件
相关文章推荐
- Android APK系列4-------Android编译APK后的系统结构
- Android APK系列4-------Android编译APK后的系统结构
- 把已有的apk文件编译到android的系统映像中去的方法
- Android 源码编译的系统apk如何安装到手机
- 编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言
- 编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言
- 编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言
- Android的源代码结构 && 一些常用术语 && Android的支持库 && app/apk包进系统
- Android 系统apk编译源代码的时候如何引用android-support-v4.jar 在Android.mk
- windows系统不用Eclipse工具实现Android apk程序编译及打包工具
- Android编译系统结构
- 利用源码编译Android系统APK
- android加固系列—6.仿爱加密等第三方加固平台之动态加载dex防止apk被反编译
- android不将apk包编译到系统里的方法
- Android apk系列2-------系统签名(生成release版本的系统)
- Android初学------编译系统签名的apk
- Android通过源码编译apk获得系统权限
- android不将apk包编译到系统里的方法
- android加固系列—6.仿爱加密等第三方加固平台之动态加载dex防止apk被反编译