system.img的解压和生成

android源码经编译后会生成几个重要的镜像文件,其中之一即是system.img。当咱们想将本身编写的或第三方APK预制到手机中,通常有两种方法可供咱们选择。第一种是将APK放入android源码特定目录中一块儿编译,这种方法耗时很是长。第二种是对system.img进行解压后再将该的APK放入,而后从新打包生成system.img。固然,system.img解压后,还能够作不少事,咱们以预制一个APK举例介绍如何解压和生成system.img。linux

要实现system.img的解压和生成,有两个工具是必不可少的——make_ext4fssimg2imgmake_ext4fs用来制做ext4镜像simg2img用来将system.img还原ext4镜像。这两个工具是在编译的过程当中生成的,能够在out\host\linux-x86\bin目录下找到android

接下来就看看这个过程:app

1.到system.img工具

2.使用simg2img工具对system.img进行处理(名字可随意取,这里取为system_raw.img.ext4,后缀不能改变)。oop

  $./simg2img  system.img  system_raw.img.ext4spa

3.建立一个目录,如mysystem.源码

$mkdir  mysystem编译

4.system_raw.img.ext4挂载到mysystem.ast

mount -t ext4 -o loop system_raw.img.ext4 system打包

5. 此时查看mysystem目录,会发现已经生成了不少文件(夹)。修改它们,如将一个本身写的APK拷贝到mysystem/app中。若是须要,可先将APK放入一个同名的文件夹(如将myapp.apk先放入到myapp中),再拷贝过去。

6. 从新打包生成system_new.img.

$./make_ext4fs -s -l 512M -a mysystem system_new.img mysystem 

其中,512M表示分区大小,可根据具体状况进行调整;第一个mysystem表示挂载点为/mysystem第二个mysystem表示mysystem目录。

7. 将system_new.img重命名为system.img,替换掉原先的system.img,就能够往手机里面烧录了

相关文章
相关标签/搜索