**
android系统system镜像解包打包制作过程
- 首先确认你的system是哪种类型镜像;yaffs2 ? 还是sparse?
这两种镜像使用的解包工具也不一样,下面以sparse类型镜像描述下操作过程。
-
首先把system.img转换成ext4格式(ext4格式才允许mount)
./simg2img system.img system_ext4.img
注:simg2img工具在android/out/host/linux-x86/bin下,是Android源码编译后的产物
-
挂载system_ext4镜像
mkdir system
sudo mount system_ext4.img system/ -o loop
-
以上就是挂载成功后的文件内容,这里我们发现chown或者权限会发生变化,没有关系我们不用关心,这里我们按我们需要对system文件系统进行修改,增删改等操作;
-
打包镜像
(1)将android/out/host/linux-x86/bin下将make_ext4fs拷贝到当前目录下
(2)查看原system.img镜像大小(600949748);
(3)将android/out/target/product/xxxxxx/root/file_contexts文件拷贝到当前目录下
(4)第4步骤中,如果你只是操作 ‘改’ ‘删’ ,跳到(6)继续操作,如果有 ‘增’操作进行(5)
(5)在file_contexts中增加你在system文件系统中增加文件的SElinux安全上下文权限
如: /system/bin/vold u:object_r:vold_exec:s0
(6)sudo make_ext4fs -l 600949748 -s -a system -S file_contexts system_out.img system
(7)最终的镜像system_out.img完成了
-
使用fastboot 升级
fastboot flash system system_out.img
注意事项:
如果升级后发现系统无法启动,并出现如下log:
说明你增加的SElinux权限错误,或者SE权限没有对应的.te文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)