C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 7163|回复: 0

[技术讨论] system.img的解压和生成 [复制链接]

军衔等级:

亚星游戏官网-yaxin222  上等兵

注册:2015-7-15
发表于 2015-7-28 15:02:46 |显示全部楼层
android源码经编译后会生成几个重要的镜像文件,其中之一便是system.img。当大家想将自己编写的或第三方APK预制到手机中,一般有两种方法可供大家选择。第一种是将APK放入android源码特定目录中一起编译,这种方法耗时非常长。第二种是对system.img进行解压后再将该的APK放入,然后重新打包生成system.img。当然,system.img解压后,还可以做很多事,大家以预制一个APK举例先容如何解压和生成system.img

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

接下来就看看这个过程:

1.找到system.img

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

$./simg2img  system.img  system_raw.img.ext4

3.创建一个目录,如mysystem.

$mkdir  mysystem

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

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,就可以往手机里面烧录了。

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-9-26 03:24 , Processed in 0.130404 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图