微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > 高通手机平台交流 > 怎么计算 rawprogram_unsparse.xml 文件呢

怎么计算 rawprogram_unsparse.xml 文件呢

时间:10-02 整理:3721RD 点击:
怎么根据rawprogram_unsparse.xml合并多个system呢,然后再分解成多个system文件呢,再生成新的rawprogram_unsparse.xml

https://github.com/kiddlu/androi ... BB%E7%BB%9Frawimage
如何把打碎的system_1.img,重新打包回原始文件系统rawimage
高通方案,会把system.ext4打碎成零散的system_x.img,这样做是为了方便刷机。
只记录有用的数据,00这种一大片的空数据,就直接跳过了,数据的偏移保存在rawprogram_unsparse.xml,刷机工具根据这个xml,只烧录有用的数据,空数据直接跳过。
可以使用packsparseimg,将system, cache, userdata分区还原,packsparseimg的源码在这里,我自己使用golang实现的,这样是为了在多个平台上都好部署,预先编译好的版本可以在这里找到。github上应该还有别的实现方式 ~ 居然还看到了baohaojun大神,么么搭 ~
具体使用方法:
-o 指定output路径, -x 指定记录偏移的xml文件, -t指定需要打包哪个image
$ packsparseimg.exe -h
Usage of D:\MyWinix\Cygwin\home\huangxiaolu\xbin\windows\android\packsparseimg.exe:
-o string
    output dir path (default "./")
-t string
    image to unsparse: system / cache / userdata (default "system")
-x string
    xml file to load (default "./rawprogram_unsparse.xml")
打包完成后,就会生成system.raw,这个是文件系统的镜像。如果需要用fastboot flash刷机,需要调用 img2simg system.raw syster.img 转换成Android烧录使用的格式,这个工具同样可以在上面的预先编译的目录中找到,src在这里

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top