Linux环境下解包/打包Android映像文件system.img

一、安装必备工具

 make_ext4fs:制作ext4镜像

 simg2img:将system.img还原为ext4镜像

 方法:

  >> sudo apt-get install android-tools-fsutils

二、解压system.img

 1.查看system.img文件类型

  >> file system.img

  system.img: Android sparse image, version: 1.0, Total of 630784 4096-byte output blocks in 2450 input chunks.

 2.将system.img还原为ext4镜像(包含的spare数据无法以loop方式mount)

  >> simg2img system.img system_raw.img.ext4

 3.新建文件夹system

  >> sudo mkdir system

 4.采用挂载分区的方式打开system.img(将system.img镜像文件挂载到system目录)

  >> sudo mount -t ext4 -o loop system_raw.img.ext4 system

 5.进入system文件夹,修改system目录下的文件。主要通过删减app、priv-app文件夹下的内容,实现“定制”。

  >> cd system

  >> sudo rm -rf xxx

  >> sudo rm -f xxx

三、打包system.img

 1.返回主文件夹

  >> cd ..

 2.打包

  >> sudo make_ext4fs -s -l 1600M -a system system_new.img system

  #1600M:分区大小,即要打包的system.img大小,其值可参考挂载前system.img的大小

  #-a system指该img用于Android系统,挂载点是/system

  #system_new.img:新生成的img,可用来烧写

  #最后的system指挂载后的目录

四、核查system_new.img文件类型

 >> file system_new.img

 #根据情况,若符合自己要求,则无需改动

 #若该文件类型不是所需文件类型,则需进行转换

 #例如:实际得到的是sparse image文件类型,而需要的是ext4文件类型,则使用simg2img工具进行转换

 #>> ./simg2img system_new.img system_out.img

五、烧录

 将system_new.img(或为system_out.img)重命名为system.img,替换掉原先的system.img,就可以往手机里面烧录了。

 



说点什么

avatar
250
  关注  
提醒