Android系统system.img拆包和重新打包
01前言最近,有必要自定义客户提供的Android系统的开发。必须解压缩system.img,修改系统属性并添加自己的APK,然后打包和刻录,组织这两种方法以共享和记录。
02方法1:将system.img转换为ext4格式。/simg2imgsystem.img system_ext4.img2,将ext4挂载到systemMount目录以修改sudo mount system_ext4.img systemMount / -o loop3,修改完成后,卸载并退出mount以下命令是./img2simg system_ext4.img system_out.img此方法生成的system_out.img可通过fastboot刻录并正常使用。
但是使用制造商提供的工具无法正常燃烧(原因未知),因此我找到了第二种方法。 03方法2:前两个步骤相同。
1.将system.img转换为ext4格式。/simg2imgsystem.img system_ext4.img2。
将ext4挂载到systemMount目录以修改sudo挂载system_ext4.img systemMount / -o循环3.修改完成后,执行./make_ext4fs -s -T -1 -S file_contexts -l 2952790016 -a system system_e2.img systemMount2952790016代表要打包的system.img的大小,此值可以引用安装前的system.img的大小。 “-系统”表示此img在android系统中使用,并且挂载点为/ systemMount。
system_e2.img是生成的文件的名称。 -s将以S模式产生ext4。
root @ ubuntu:/ home / ubuntu64 / *** / systemImg#./make_ext4fs选项后的预期文件名make_ext4fs [-l< len& gt;] [-j< journal size& gt;]] [-b < block_size& gt;] [-g<每组的块& gt;] [-i& lt; inodes& gt;] [-I< inode尺寸& gt;] [- L& lt; label& gt;] [-f] [-a& lt; android mountpoint& gt;] [-u] [-S file_contexts] [-C fs_config] [-T时间戳] [-z | -s] [-w] [-c] [-J] [-v] [-B< block_list_file& gt;] [-d& lt; base_alloc_file_in& gt;] [-D& lt; base_alloc_file_out& gt;]& lt; filename& gt; [[& lt;目录& gt;]& lt; target_out_directory& gt;]注意,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授权后发布,版权归原作者所有。该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。如有任何疑问,请与我们联系,谢谢!。
02方法1:将system.img转换为ext4格式。/simg2imgsystem.img system_ext4.img2,将ext4挂载到systemMount目录以修改sudo mount system_ext4.img systemMount / -o loop3,修改完成后,卸载并退出mount以下命令是./img2simg system_ext4.img system_out.img此方法生成的system_out.img可通过fastboot刻录并正常使用。
但是使用制造商提供的工具无法正常燃烧(原因未知),因此我找到了第二种方法。 03方法2:前两个步骤相同。
1.将system.img转换为ext4格式。/simg2imgsystem.img system_ext4.img2。
将ext4挂载到systemMount目录以修改sudo挂载system_ext4.img systemMount / -o循环3.修改完成后,执行./make_ext4fs -s -T -1 -S file_contexts -l 2952790016 -a system system_e2.img systemMount2952790016代表要打包的system.img的大小,此值可以引用安装前的system.img的大小。 “-系统”表示此img在android系统中使用,并且挂载点为/ systemMount。
system_e2.img是生成的文件的名称。 -s将以S模式产生ext4。
root @ ubuntu:/ home / ubuntu64 / *** / systemImg#./make_ext4fs选项后的预期文件名make_ext4fs [-l< len& gt;] [-j< journal size& gt;]] [-b < block_size& gt;] [-g<每组的块& gt;] [-i& lt; inodes& gt;] [-I< inode尺寸& gt;] [- L& lt; label& gt;] [-f] [-a& lt; android mountpoint& gt;] [-u] [-S file_contexts] [-C fs_config] [-T时间戳] [-z | -s] [-w] [-c] [-J] [-v] [-B< block_list_file& gt;] [-d& lt; base_alloc_file_in& gt;] [-D& lt; base_alloc_file_out& gt;]& lt; filename& gt; [[& lt;目录& gt;]& lt; target_out_directory& gt;]注意,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授权后发布,版权归原作者所有。该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。如有任何疑问,请与我们联系,谢谢!。