0

我已经为带有游戏板和字母平铺图像的文字游戏生成了一个发布 APK 文件,其大小为14.157.885 字节

然后我在我的 Android Studio 项目中对大约 1000 张图像运行pngcrush,然后是“清理项目”、“重建项目”,最后再次“生成签名的 APK...”。

令人惊讶的是,生成的 APK 文件更大:14.158.735 字节

资源管理器截图

我在 Windows 7 x64 和 Mac OS Yosemite 上使用 Android Studio 的结果相同。

下面你可以在 git 日志中看到pngcrush确实减少了位图大小:

git截图

APK 文件肯定是某种 ZIP 存档 - 但为什么它的大小增加了?

更新:

问这个问题的真正原因是因为我使用 SQLiteAssetHelper 包含了一个 gzip 压缩的 SQLite 文件(大小:4.988.928字节)并且我很担心——如果 APK 文件小到可以在较旧的 Android 设备上运行。

4

1 回答 1

5

aapt有一个pngcrush等效的内置,并作为资源打包过程的一部分在您的输入文件上运行它。使用高度优化的输入文件,您可能会失去aapt运行其自身优化的机会。

如果您想使用自己的,可以通过 gradle 设置禁用 aapt:

aaptOptions {
    cruncherEnabled = false
}

来源: 问题 65335:如果 PNG 文件已经过优化,aapt 可以使它们更大

于 2015-09-07T19:09:59.447 回答