Deaktivieren Sie die Android-Ressourcen- / Bild- / PNG-Optimierung
Wie kann ich verhindern, dass die Android - "build-Prozess" von der Optimierung .png-Bilder?
Ich habe ein Android-Projekt mit den folgenden res Verzeichnisse:
- /res/
- /res/drawable
- /res/drawable-hdpi
- /res/drawable-hdpi-v5
- /res/drawable-ldpi
- /res/drawable-ldpi-v5
- /res/drawable-mdpi
- /res/drawable-mdpi-v5
Diese Verzeichnisse enthalten viele .png-Dateien. Ich optimieren die PNG-Größen mit PNGOUTWin, und die Allgemeine Größe ist reduziert um mehr als 20%. Wenn ich bauen .apk-Datei, die Bilder werden "optimiert", indem Sie den build-Prozess und die Gesamtgröße ist jetzt 10% über der ursprünglichen Größeoder 30% über meine/PNGOUTWin optimierten Größe.
Mein Ziel ist, zu reduzieren .apk Größe, auch wenn es wirkt sich auf die endgültige performance, Speicherbedarf, usw. Wie kann ich verhindern, dass die "build-Prozess" von der Optimierung .png-Bilder?
Ich bin targeting Android 2.2 und höher.
P. S.: ich bin derzeit am Bau meines Android-Projekt von Eclipse, aber ich werde wechseln zu automatisierten build später (Ant?).
Hinweis zu JPG-Bildern: JPG wird nicht funktionieren, weil Sie keine Transparenz.
InformationsquelleAutor der Frage Maris B. | 2012-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bereits in der Android-Dokumentation: http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables
Also, wenn Sie wollen, um die Größe Ihrer Anwendung sollten Sie entweder verringern Sie die Farbtiefe Ihrer PNG-Dateien (dies hilft viel) oder zu wechseln .JPG-Dateien, wo immer möglich.
InformationsquelleAutor der Antwort Vinayak Bevinakatti
Endlich gibt es eine offizielle Möglichkeit zum deaktivieren des PNG-cruncher mit Gradle, die bisher nicht erwähnt hier noch:
Edit main bauen.gradle zu verlangen, gradle version 1.1.3 (oder neuer):
In den einzelnen apps zu bauen.gradle, Abschnitt android {}, einfügen:
Referenz:
https://code.google.com/p/android/issues/detail?id=65335
InformationsquelleAutor der Antwort ChrisG
Angabe PNG Knirschen ist jetzt ein BuildType Eigenschaft und ist standardmäßig deaktiviert debug-builds:
Hinweis: Es bei Android Studio 3.0 Kanarischen 5 .
InformationsquelleAutor der Antwort pRaNaY
Android Studio: Da Gradle Android-plugin 1.0.0:
Eclipse: Überschreiben der crunch Aufgabe, diese schriftlich in Ihrem build.xml:
InformationsquelleAutor der Antwort Yair Kukielka
Google hat vor kurzem eine neue PNG-Prozessor in aapt 0.9.1 in der Android SDK Build-Tools, behebt dieses Problem der erhöhten PNG-Größen nach aapt-Optimierung.
Mit diesem update ist es nun möglich, Android-Studio & Gradle wechseln Sie zwischen den PNG-Prozessoren mit der folgenden änderung in deinem build.gradle-Konfiguration-Datei:
Durch hinzufügen dieser Zeile, aapt verwendet die neue PNG-Prozessor, in dem es prüft, um zu sehen, ob der "optimierte" PNG-Dateien kleiner sind als die ursprüngliche PNG-Dateien. Ich war in der Lage zu reduzieren 4.8 MB in meine kompilierte APK und nicht auf irgendwelche bugs/Probleme mit der neuen build-Konfiguration.
UPDATE: Dies wurde als veraltet markiert in späteren Versionen von Android Studio. Bitte Lesen Sie die Antwort von ChrisG.
InformationsquelleAutor der Antwort Huh X0015