android img的sparse和ext4格式

        由于现在系统的emmc容量越来越大,以及android应用的越来越庞大复杂,一些分区的size也越来越大比如system.img,userdata.img,cache.img,boot.img等。以前这些img的格式都是ext3或4,现在android环境默认情况下编译出的这些img是一种叫做sparse格式的文件。

        顾名思义 sparse是一种稀疏的文件描述格式,size比ext4的要小很多,而ext4格式的文件中有很多零填充。可以通过file命令来区分文件损坏那种格式。

例如 file system.img,如果是sparse格式只会显示一个data,而如果是ext4格式会显示一长串字符,其中有ext4字样。

        这两种格式的img之间可以通过工具进行转换,转换的工具放在编译后生成的out/host/linux-x86/bin/里,分别为simg2img和img2simg,必须要经过完整的android编译才会生成,只编译lk或bootimg是不会生成的。

        例如要将raw ext4格式转换为sparse格式,可以这样:img2simg system.raw.img system.simg。

        为什么要知道转换的方法,因为现在android默认编译出的sytem.img, cache.img, userdata.img等都是sparse格式的,而下载工具很可能只支持ext4格式的Img下载,这时就需要手动转换一下,比如高通的QFIL,如果不转换成ext4格式的img进行加载,开机后这些分区是挂载不上的,系统自然也无法起来。切记!

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值