Android 解压和重新打包system.img

1. android 编译完成之后会生生一个 system.img,要想解压system.img需要知道system.img是如何打包生成的,这个好像没有工具可以查看system.img的格式,只能一个个的试。
我试了一下unyaffs与unyaffs2都不能解压,最后才发现这个system.img是ext4打包的,用simg2img就ok了!
下载ext4_utils
http://andwise.net/?attachment_id=406
应该有源码的,但这个是编译好的二进制文件,直接拿来用就行。
注:如果没有,也不用担心,android自带了一份,
例如mtk的在 ./system/extras/ext4_utils目录下,生成的二进制在 ./out/host/linux-x86/bin下.
2. 解压
sun@ubuntu:~/ext4$ ls
ext4_utils.tar.gz  make_ext4fs  simg2img  system.img temp

sun@ubuntu:~/ext4$ file system.img
system.img: data

//生成 ext4格式的img文件
sun@ubuntu:~/ext4$ ./simg2img system.img system.img.ext4

root@yanfa3-desktop:~/ext4# file ./system.img.ext4
./system.img.ext4: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (needs journal recovery) (extents) (large files)

//最后一步挂载,挂载之后就可以像随意修改了
sun@ubuntu:~/ext4$ mkdir ./sys_dir
sun@ubuntu:~/ext4$ mount -t ext4 -o loop system.img.ext4 ./sys_dir/


3.打包
sun@ubuntu:~/ext4$ ./make_ext4fs -s -l 512M -a system system_new.img ./sys_dir/
sun@ubuntu:~/ext4$  file ./system_new.img
./system_new.img: data

 

出自:http://blog.chinaunix.net/uid-26009923-id-3454597.html 

感谢wangcong02345的分享

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值