APK 分析器是 Android Studio 自带的一个 APK 分析工具,你可以使用它分析 APK 的组成详情。APK 分析器在我们开发当中最常见的使用场景是定位 APK 组成情况从而减小 APK 的大小。除此之外,还可以使用它减少调试应用的 DEX 文件和资源相关问题所用的时间。下面结合我的使用实践介绍一下 APK 分析器的功能和使用方法。
一行配置导致 APK 变大 7 倍
前不久,我开发新项目蓝牙音乐的过程中,编译 APK 完成后突然发现只有一个界面的蓝牙音乐 APK 包竟然有9M。吓得我直接打开 build/output/apks/ ,双击 APK ,打开APK 分析器界面如下。
我发现异常文件 classes2.dex 和 classes3.dex,可以看到dex文件下全都是 Android SDK 的内容,WTF?为什么这些内容会被打包进 APK?莫非我 build.gradle 配置有问题?于是我又仔细检查了一下 build.gradle 内容,果然发现了罪魁祸首。
我在已经将 framework.jar 加入仅编译的情况下,没有删除开头的这一句配置,导致 framework.jar 包被打包进APK。
我熟练地删除这一行,然后迅速进行了 sync、Clean Project、Build APK 这一连环操作。稍等一会,会看到Android Studio 贴心的提醒。