img文件格式用什么打开(img格式在哪里)

  文档说明

  本文档以SC826-CN-00(msm8953平台,Android 7)为例,说明如何解析system.img镜像文件。

  问题描述

  某客户反馈,在不同编译环境下生成的system.img文件大小差异很大。A环境下大小为1.8G左右,B环境下大小为1.3G左右。

  1.8G的system.img文件烧录后,系统运行比较卡顿。而1.3G的文件则比较流畅。

  解析

  为定位该问题,首先来找出两个环境下system.img文件有何差异。

  这里就需要对system.img进行解析,看看包含了哪些app和文件。

  可以在ubuntu环境下进行解压,参考类似下面的链接:

  https://www.jianshu.com/p/db70835d41c8

  这里我们用更直观的window工具来解析。

  百度搜索”ROM助手”或”ROM工具”,会出现不少相关工具。

  我们这里安装一个ROM助手。

  img文件格式用什么打开(img格式在哪里)插图

  选择”IMG“解包->system.img

  img文件格式用什么打开(img格式在哪里)插图1

  解压成功之后,会在 MoGu/imgupack 下生成解压后的文件夹。 数字最大的文件夹就对应刚解压的system.img。

  img文件格式用什么打开(img格式在哪里)插图2

  把两个system.img都解压之后,对比差异。

  img文件格式用什么打开(img格式在哪里)插图3

  右边是对应1.8G大小的system.img,它包含的所有app都多出一个oat/arm64/*.odex的文件。导致整个镜像文件变大。

  修改编译选项

  odex文件是个什么东西呢,百度了解下,据说能加快app启动速度。但这里不是我们关注的重点,先想办法把*.odex文件干掉。

  打开 device/qcom/msm8953_64/BoardConfig.mk,如下图:

  img文件格式用什么打开(img格式在哪里)插图4

  WITH_DEXPREORT 对应 odex的编译选项。

  我们简单粗暴的跳过这部分判断逻辑,直接设成 false。

  img文件格式用什么打开(img格式在哪里)插图5

  删除system下的目标文件:

  rm -rf out/target/product/msm8953_64/system

  重新编译system,再查看生成的镜像文件,大小已经减小了几百M。

  patch文件

  https://uploader.shimo.im/f/YBP9Ouk9a5U9RfME.patch?attname=BoardConfig.mk.patch&download

  本期美女

  大嫂徐冬冬

  img文件格式用什么打开(img格式在哪里)插图6

  img文件格式用什么打开(img格式在哪里)插图7

  img文件格式用什么打开(img格式在哪里)插图8

投稿

好西洋参怎么挑选(西洋参价格一览表)

2023-2-23 19:15:00

投稿

性价比高的跑鞋品牌有哪些(性价比高的跑鞋排名前十名品牌)

2023-2-23 19:32:00

搜索