当我从eclipse导出apk时,它压缩所有的PNG图像。例如,apk中的一个4.6 KB png变成了2.15 KB。不过,我更愿意在构建apk之前使用tinypng优化png文件,这会制作更小的文件。使用tinypng的同样的4.6 KB png变成了746 B。 当建立apk时,压缩在我的746 B png上运行,使它达到1.6 KB。导出签名的应用程序没有“优化”PNG图像
有什么办法可以禁用未来版本的优化?
当我从eclipse导出apk时,它压缩所有的PNG图像。例如,apk中的一个4.6 KB png变成了2.15 KB。不过,我更愿意在构建apk之前使用tinypng优化png文件,这会制作更小的文件。使用tinypng的同样的4.6 KB png变成了746 B。 当建立apk时,压缩在我的746 B png上运行,使它达到1.6 KB。导出签名的应用程序没有“优化”PNG图像
有什么办法可以禁用未来版本的优化?
在项目build.xml
ANT文件可以覆盖-crunch
任务的SDK,从而避免PNG压缩,因为你以前压缩他们:
<target name="-crunch">
<echo message="Skipping PNG optimization"/>
</target>
谢谢,但我没有使用ANT,请告诉我如何创建这个build.xml文件并使用ANT构建项目? – Minas
例如,您可以将'android-support-v7-appcompat'中的一个复制到项目的根文件夹中,并使用覆盖目标对其进行调整。如果你正在使用ADT,把这个调优过的'build.xml'文件移到ANT视图,打开它来检查所有的目标,并运行'release'。 –
谷歌最近在Android SDK构建工具推出了new PNG processor in aapt 0.9.1那修复了优化后的PNG大小增加问题。
安装此更新,现在可以为Android Studio和摇篮到PNG处理器之间有以下变化在build.gradle
配置文件切换:
android {
...
aaptOptions.useAaptPngCruncher = false
}
通过加入这一行,AAPT使用新的PNG处理器,用于检查“优化的”PNG文件是否小于原始PNG文件。我能够在编译的APK中减少4.8 MB,并且没有遇到任何新构建配置的错误/问题。
很高兴知道!谢谢。我仍然在使用Eclipse和ant。当我切换到Android Studio&Gradle – Minas
时使用此选项现在(Gradle Android插件1.0.0-rc1)该选项的名称已更改为'aaptOptions.useNewCruncher',逻辑反转,即设置'aaptOptions.useNewCruncher = false'将禁用新的PNG压缩器。 – sschuberth
从Android Studio 1.0和Gradle 1.0.0开始,此选项似乎不起作用。我所有已经优化过的PNG文件仍在进行重新处理,导致PNG文件比原始PNG文件大10-15%。 –
更改图片文件扩展名。例如:重命名someImage.png至someImage.jet为我工作。你可以试试这个。
由于摇篮Android插件1.0.0:
android {
...
aaptOptions {
useNewCruncher false
}
....
}
此链接可以帮助你:) http://stackoverflow.com/questions/12929884/disable-android-resource-image-png优化 –