Als erstes schlagen Sie mir keine offizielle Dokumentation oder dies . Wenn wir eine App aus Android Studio mit vordefinierter Textansicht erstellen, die einfach "Hallo Welt" anzeigt, generiert sie eine APK mit mehr als 1,2 MB. Aber einige Apps im Playstore sind unter 500KB mit vielen Funktionen verfügbar. Ich habe bereits alle Funktionen von Android Studio wie proguard, minifyEnabled usw. angewendet, aber das hilft nicht. Also, wie kann ich diese Komprimierungsstufe erreichen?
Punkte zur Verringerung der APK-Größe:
1. Verwende vektor ziehbaren
2. Verwenden Sie zum Zeichnen einer einfachen Ansicht xml Drawable
3. Drehen Sie die Bilder mit Hilfe von XML-Zeichen, um sie wiederzuverwenden (zB bei Pfeiltasten)
4. Erstellen Sie Zeichenketten durch Code
5. Verwenden Sie aaptOptions {cruncherEnabled = false}, um Bilder zu komprimieren
6. Verwenden Sie das WebP-Format für große Bilder
7. Vermeiden Sie Aufzählungen und verwenden Sie @IntDef Annotation
8. Verwenden Sie shrinkResources in Gradle, um nicht verwendete Ressourcen zu entfernen
9. Verwenden Sie resConfig "en" in Gradle, um andere Lokalisierungen zu entfernen.
Das Problem könnte in der Support-Bibliothek sein. Durch das Hinzufügen von com.android.support:appcompat-v7:27.0.2
zu einem leeren Projekt wurde die APK-Größe von 80 KB auf 1,3 MB erhöht. Wenn Ihre MinSDK also hoch genug ist und Sie ihre Hilfsklassen nicht benötigen, können Sie sie loswerden.
Sie können den APK Analyzer verwenden, um zu sehen, wie viel Speicherplatz tatsächlich benötigt wird.
>Wenn Sie ein neues Projekt von Android Studio erstellen, fügt die IDE automatisch einige Abhängigkeiten zu Ihrem Projekt hinzu.
%Vor% Wenn Sie support library
und constraint layout library
bündeln, wird Ihre Release-APK-Größe schnell steigen, auch wenn Sie keinen Code hinzufügen.
Sie können eine sehr kleine apk erhalten, wenn Sie Support-Bibliothek und Constraint-Layout-Bibliothek entfernen und einfach alle System-API verwenden.
Nach dem Entfernen der Support-Bibliothek sollten Sie
Verwenden Sie Activity
anstatt AppCompatActivity
, YourActivity extends Activity
Verwenden Sie kein Thema aus der Support-Bibliothek in Ihrem AndroidManifest.xml
Verwenden Sie FrameLayout
, um ConstraintLayout
in Ihrem Layout zu ersetzen
Danke für das Posten alijandro , Makovkastar und Sanjay Manjoka Jungs. Nachdem ich Ihre Antworten gelesen und mit dem Internet gekämpft habe, habe ich folgendes gefunden:
Tags und Links android android-studio lint minify android-proguard