img文件怎么打开(如何解析system.img)文档说明本文档以sc826-cn-00(msm8953平台,android7)为例,说明如何解析system.img镜像文件。
问题描述某客户反馈,在不同编译环境下生成的system.img文件大小差异很大。a环境下大小为1.8g左右,b环境下大小为1.3g左右。1.8g的system.img文件烧录后,系统运行比较卡顿。而1.3g的文件则比较流畅。解析为定位该问题,首先来找出两个环境下system.img文件有何差异。这里就需要对system.img进行解析,看看包含了哪些app和文件。可以在ubuntu环境下进行解压,参考类似下面的链接:http:///p/db70835d41c8这里我们用更直观的window工具来解析。百度搜索"rom助手"或"rom工具",会出现不少相关工具。我们这里安装一个rom助手。
选择"img“解包->system.img
解压成功之后,会在mogu/imgupack下生成解压后的文件夹。数字最大的文件夹就对应刚解压的system.img。
把两个system.img都解压之后,对比差异。
右边是对应1.8g大小的system.img,它包含的所有app都多出一个oat/arm64/*.odex的文件。导致整个镜像文件变大。修改编译选项odex文件是个什么东西呢,百度了解下,据说能加快app启动速度。但这里不是我们关注的重点,先想办法把*.odex文件干掉。打开device/qcom/msm8953_64/boardconfig.mk,如下图:
with_dexpreort对应odex的编译选项。我们简单粗暴的跳过这部分判断逻辑,直接设成false。
删除system下的目标文件:rm-rfout/target/product/msm8953_64/system重新编译system,再查看生成的镜像文件,大小已经减小了几百m。patch文件http://uploader.shimo.im/f/ybp9ouk9a5u9rfme.patch?attname=boardconfig.mk.patch&download
百瑞评测网
优选问答