Android system.img挂载和解除挂载
解包后的super.img,里面最重要的是system.img文件,如何对system.img进行挂载和解除挂载是需要掌握的能力
基础知识
system.img、vendor.img 都存在两种格式raw,sparse ,在ubuntu命令窗口下执行下执行:file system.img可以查看文件的信息。
-
一种是raw ext4 image,即经常说的raw image。
使用file观察它: 其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大(一般1G左右)。file 查看
$ file system.img
system.img:Linux rev 1.0 ext4 filesystem data, UUID=da594c53-9beb-f85c-85c5-cedf76546f7a, volume name "system" (extents) (large files)
-
另一种是sparse ext4 image,即经常说的simg
就是说是一个非常普通的dat文件。由于它将raw ext4进行稀疏描述,因此尺寸比较小(没有全零的无效填充区,一般在300到500M之间)。file查看:
$ file system.img
system.img: Android sparse image, version: 1.0, Total of 393216 4096-byte output blocks in 40 input chunks.
Android本身提供了源代码工具在两者之间转换,源代码位于:
system/cor