When I export an apk from eclipse, it compresses all of the png images. For example, one 4.6 KB png became 2.15 KB inside the apk. However I prefer to optimize png files usi
Change the image file extension. For example: renaming someImage.png to someImage.jet worked for me. You can try this.
Since Gradle Android plugin 1.0.0:
android {
...
aaptOptions {
useNewCruncher false
}
....
}
Optimize the files using tinypng before importing them into the project.
Google recently introduced a new PNG processor in aapt 0.9.1 in the Android SDK Build Tools that fixes this issue of increased PNG sizes after aapt optimization.
With this update, it is now possible for Android Studio and Gradle to switch between the PNG processors with the following change in your build.gradle
configuration file:
android {
...
aaptOptions.useAaptPngCruncher = false
}
By adding this line, aapt uses the new PNG processor in which it checks to see if the "optimized" PNG files are smaller than the original PNG files. I was able to reduce 4.8 MB in my compiled APK and have not encountered any bugs/issues with the new build configuration.
In your project build.xml
ANT file you can override the -crunch
task of the SDK, thus avoiding PNG compression, as you previously compressed them:
<target name="-crunch">
<echo message="Skipping PNG optimization"/>
</target>