如何对 system.img 和 userdata.img 解包,再重新打包

2016-08-17 10:21:55 +08:00
 wyk86485481

下载代码仓储 https://android.googlesource.com/platform/system/extras:

git clone https://android.googlesource.com/platform/system/extras

选择对应的版本:

cd extras
git checkout android-4.1.1_r1

编译 simg2img:

cd ext4_utils
gcc -o simg2img -lz sparse_crc32.c simg2img.c

拆包 android 镜像文件:

cd ../../
./extras/ext4_utils/simg2img system.img system.raw.img
./extras/ext4_utils/simg2img userdata.img userdata.raw.img

通过 mount 挂载镜像( Mac osx 系统可以使用 Paragon's ExtFS ):

mkdir /mnt/my_system /mnt/my_userdata
mount -t ext4 -o loop userdata.raw.img /mnt/my_userdata

编译 make_ext4fs:

cd extras/ext4_utils
gcc -o make_ext4fs -lz make_ext4fs_main.c make_ext4fs.c ext4fixup.c ext4_utils.c allocate.c backed_block.c output_file.c contents.c extent.c indirect.c uuid.c sha1.c sparse_crc32.c wipe.c

重新打包镜像:

cd ../../
PATH="$PATH:$(pwd)/extras/ext4_utils/make_ext4fs" ./extras/ext4_utils/mkuserimg.sh -s /mnt/my_system_dir my_system.img ext4 /tmp 512M
9552 次点击
所在节点    Android
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/299815

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX