Deaktivieren Sie Android Resource / Image / Png Optimierung

Wie zu verhindern, dass die Android "Build-Prozess" von der Optimierung. Png Bilder?

Ich habe Android-Projekt mit den folgenden Res-Verzeichnisse:

  • Haben Android-Geräte eine statische IP-Adresse?
  • Rand zwischen X-Achsen-Titel und X-Achsen-Etiketten in AChartEngine
  • ExpandableListView in Fragment Issue
  • Berechnen Sie SHA256 Hash in Android / Java und C #
  • Seek bar, wechselt die Farbe von gelb nach weiß
  • Sende nachgeschaltete Nachricht an Google ccs mit Knoten js
  • - /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 optimiere PNGs Größen mit PNGOUTWin, und die Gesamtgröße wird um mehr als 20% reduziert. Wenn ich eine .apk-Datei baue, werden die Bilder durch den Build-Prozess "optimiert" und die Gesamtgröße ist jetzt 10% über der Anfangsgröße oder 30% über meiner / PNGOUTWin optimierten Größe.

    Mein Ziel ist es, die Größe von .apk zu reduzieren, auch wenn es sich um die endgültige Leistung, Speicheranforderungen usw. handelt. Wie kann ich den "Build-Prozess" von der Optimierung von .png-Bildern verhindern?

    Ich gehe auf Android 2.2 und höher.

    PS Derzeit baue ich mein Android-Projekt von der Eclipse, aber wechselt zu dem automatisierten Build später (Ant?)

    Hinweis zu JPG-Bildern: JPG funktioniert nicht, weil sie keine Transparenz haben.

  • Android-Projekt mit httpclient -> http.client (Apache), Post / Get-Methode
  • Wie benutzt man setZOrderMediaOverlay auf Android?
  • Kann ich eine ziemlich native C ++ App mit Android machen?
  • Nachrüstung 1.9 mit OkHttp 2.2 und Abfangjäger
  • Neu erstellte Layoutdateien wurden nicht zu R.java hinzugefügt
  • Android - Kamera verwenden ohne Oberflächenansicht oder Texturansicht
  • 5 Solutions collect form web for “Deaktivieren Sie Android Resource / Image / Png Optimierung”

    Wie in der Android-Dokumentation erwähnt: http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables

    Hinweis : Bildressourcen, die in res / drawable / platziert werden, können automatisch mit verlustfreier Bildkomprimierung durch das aapt-Tool während des Buildprozesses optimiert werden. Zum Beispiel kann ein echtfarbenes PNG, das nicht mehr als 256 Farben benötigt, mit einer Farbpalette in ein 8-Bit-PNG umgewandelt werden. Dies führt zu einem Bild von gleicher Qualität, das aber weniger Speicher benötigt. Seien Sie also bewusst, dass sich die in diesem Verzeichnis platzierten Bildbinärdateien während des Builds ändern können .

    Also, wenn du die Größe deines Antrags reduzieren möchtest, solltest du entweder die Farbtiefe deiner PNG-Dateien reduzieren (das hilft viel) oder wechselt zu beliebigen .JPG-Dateien.

    Schließlich gibt es einen offiziellen Weg, um den PNG Cruncher mit Gradle zu deaktivieren, der hier noch nicht erwähnt wurde:

    1. Bearbeiten Sie main build.gradle, um gradle Version 1.1.3 (oder neuer) zu erfordern:

       buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.1.3' } } 
    2. In den einzelnen apps's build.gradle, Abschnitt android {}, einfügen:

       aaptOptions { cruncherEnabled = false } 

    Referenz: https://code.google.com/p/android/issues/detail?id=65335

    Die Angabe von PNG-Crunching ist nun eine BuildType- Eigenschaft und wird standardmäßig auf Debug-Builds deaktiviert:

     android { … buildTypes { release { crunchPngs false // or true } } } 

    Hinweis: Es ist ab Android Studio 3.0 Canary 5 erhältlich .

    ANDROID STUDIO : Seit Gradle Android Plugin 1.0.0:

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

    ECLIPSE : Überschreiben Sie die Crunch-Aufgabe, die dies in Ihrem build.xml geschrieben hat:

     <target name="-crunch"> <echo message="This will skip PNG optimization"/> </target> 

    Google hat vor kurzem einen neuen PNG-Prozessor in aapt 0.9.1 in der Android SDK Build Tools eingeführt, die dieses Problem der erhöhten PNG-Größen nach der optimalen Optimierung behebt.

    Mit diesem Update ist es nun möglich, dass Android Studio & Gradle zwischen den PNG-Prozessoren mit der folgenden Änderung in Ihrer build.gradle-Konfigurationsdatei umschaltet:

     android { .. .. aaptOptions.useAaptPngCruncher = false } 

    Durch das Hinzufügen dieser Zeile verwendet aapt den neuen PNG-Prozessor, in dem er prüft, ob die "optimierten" PNG-Dateien kleiner sind als die Original-PNG-Dateien. Ich konnte 4,8 MB in meinem kompilierten APK reduzieren und habe keine Bugs / Probleme mit der neuen Build-Konfiguration angetroffen.

    UPDATE: Dies wurde in späteren Versionen von Android Studio veraltet. Bitte beachten Sie die Antwort von ChrisG.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.