600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > android img 解包打包工具 Android系统system.img解包和重新打包

android img 解包打包工具 Android系统system.img解包和重新打包

时间:2023-10-16 16:05:07

相关推荐

android img 解包打包工具 Android系统system.img解包和重新打包

01 前言

最近需要对客户提供的安卓系统进行定制化开发,需要对system.img进行解包,修改系统属性和添加自己的APK,再打包烧录,整理俩个方法分享记录下。

02 方法一

1、把system.img转换成ext4格式

./simg2img system.img system_ext4.img

2、挂载ext4到systemMount目录进行修改

sudo mount system_ext4.img systemMount/ -o loop

3、修改完成后 unmount 退出挂载使用如下命令

./img2simg system_ext4.img system_out.img

此方法生成的system_out.img 可以通过fastboot烧录并正常使用。但是使用厂家提供的工具无法正常烧录(原因不详)于是又找到了第二种方法。

03 方法二

前俩步相同

1、把system.img转换成ext4格式

./simg2img system.img system_ext4.img

2、挂载ext4到systemMount目录进行修改

sudo mount system_ext4.img systemMount/ -o loop

3、修改完成后执行

./make_ext4fs -s -T -1 -S file_contexts -l 2952790016 -a system system_e2.img systemMount

2952790016代表你要打包的system.img大小,这个值可以参考挂载前system.img的大小。

"-a system",是指这个img用于android系统,挂载点是/systemMount。

system_e2.img是生成的文件名。

-s 就是生成ext4的S模式制作。

root@ubuntu:/home/ubuntu64/***/systemImg# ./make_ext4fsExpected filename after optionsmake_ext4fs [ -l ] [ -j ] [ -b ][ -g ] [ -i ] [ -I ][ -L ] [ -f ] [ -a ] [ -u ][ -S file_contexts ] [ -C fs_config ] [ -T timestamp ][ -z | -s ] [ -w ] [ -c ] [ -J ] [ -v ] [ -B ][ -d ] [ -D ] [[] ]

注意事项

file_contexts 文件7.0的系统里没有,是file_contexts.bin文件需要转换

文件路径:out/target/product/***/root/file_contexts.bin

file_contexts.bin 转换成 file_contexts

$ ./sefcontext -o file_contexts file_contexts.bin

file_contexts 转换成 file_contexts.bin

$ ./sefcontext_compile -o file_contexts.bin file_contexts

此方法生成的system.img可完全正常使用。

需要simg2img、img2simg、make_ext4fs、

sefcontext、sefcontext_compile文章中的工具包可关注公众号获取。

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。