Экспорт подписанного приложения без «оптимизации» png-изображений

Когда я экспортирую apk из eclipse, он сжимает все png-изображения. Например, один 4.6 KB png стал 2.15 KB внутри apk. Однако я предпочитаю оптимизировать png-файлы с помощью tinypng до того, как будет построен apk, что делает файлы меньшего размера. Тот же 4.6 KB png стал 746 B, используя tinypng. При построении apk сжатие выполнялось на моем 746 B png, что делало его 1.6 KB.

Есть ли способ отключить эту оптимизацию для будущих сборок?

В файле ANT проекта build.xml вы можете переопределить задачу -crunch SDK, тем самым избегая сжатия PNG, как вы ранее сжали их:

 <target name="-crunch"> <echo message="Skipping PNG optimization"/> </target> 

Недавно Google представила новый PNG-процессор в aapt 0.9.1 в Android SDK Build Tools, который исправляет эту проблему увеличения размеров PNG после оптимизации aapt.

Благодаря этому обновлению теперь Android Studio и Gradle могут переключаться между процессорами PNG со следующим изменением в build.gradle конфигурации build.gradle :

 android { ... aaptOptions.useAaptPngCruncher = false } 

Добавляя эту строку, aapt использует новый процессор PNG, в котором он проверяет, меньше ли оптимизированные PNG-файлы, чем исходные файлы PNG. Я смог уменьшить 4,8 МБ в моем скомпилированном APK и не обнаружил ошибок или проблем с новой конфигурацией сборки.

Начиная с Gradle Android plugin 1.0.0:

 android { ... aaptOptions { useNewCruncher false } .... } 

Измените расширение файла изображения. Например: переименование someImage.png на someImage.jet для меня работало. Вы можете попробовать это.

Оптимизируйте файлы, используя tinypng, прежде чем импортировать их в проект.

Intereting Posts