2016-12-08 2 views
-2

Wie kann ich meine apk-Größe effizienter reduzieren? Ich weiß, dass dies eine häufig gestellte Frage ist, aber ich habe mit den verfügbaren Ressourcen nicht viel Hilfe bekommen.Alles versucht: Wie kann ich meine apk Größe reduzieren?

  • Ich habe "lint" aus Android Studio versucht, es hat mehrere Ressourcen entfernt, aber die Apk-Größe ist nicht so stark geschrumpft.
  • Ich habe "PngCrush" verwendet, um Png-Dateien zu komprimieren, aber es hat nicht viel geholfen (nur 150Kb reduziert). Gibt es eine bessere Lösung zur Verringerung der PNG-Dateigrößen?
  • Ich verwende jetzt ProGuard. Ist es sicher ? Welche Größe kann er von meiner APK abziehen?
  • Meine APK-Größe ist derzeit 17 MB, ich möchte es auf weniger als 10 MB herunterbringen. Gibt es andere Lösungen? Danke im Voraus.
  • +0

    müssen Sie Ihre Apk für Größe und Code dekompilieren, setzen Sie minifyEnabled True in Build-Gradle-Datei. Darf ich wissen, dass Sie eine Videodatei in Ihrer App haben? –

    +0

    @MageshPandian, Nein, ich habe keine Audio- und Videodatei in meiner App. Ich werde proguard anwenden und dir die modifizierte apk-Größe mitteilen. Danke für die Antwort :) – tahsinRupam

    +0

    Haben Sie große Bibliothek wie Google Play Service verwendet? Haben Sie Multidex aktiviert? –

    Antwort

    0

    können Sie folgende Methoden verwenden:

    1) use proguard : set minifyEnabled true 
        2) Remove unused resources : set shrinkResources true 
        3) Remove everything that you are not using 
        4) If you are using librarires ,try finding the snippet that you are really using,if you dont find any such version,try fiddling with the required class directly in your app instead of importing whole library 
        5) Use vector drawable instead of pngs for your small icons and drawables 
        6) Reduce png images clarity to point where it have same effect to human eye ,while its size is reduced heavily 
        7) Try generating resources or draws on runtime instead of storing it before hand 
    

    Progaurd absolut sicher ist, stellen Sie sicher, dass Sie eine rohe Sicherung der ur Arbeit behalten, bevor proguard verwenden, auch die richtigen Regeln für alle Bibliotheken und andere wichtige Ressourcen und Code verwenden, bevor Sie proguard.Generally Bibliotheken bereitgestellten Standard-Proguard-Regeln für ihre Bibliotheken

    +0

    @tahsinRupam, kannst du bitte auch Upvote, ty für das Akzeptieren, hoffe es hat geholfen – Ak9637

    +0

    Ja, das werde ich definitiv, wenn du mir hilfst das zu beheben. Meine App stürzt nach der Implementierung von Proguard ab. Hier ist der Fehler: - java.lang.NoClassDefFoundError: Fehlgeschlagene Auflösung von: Ljavax/naming/ldap/LdapName; – tahsinRupam

    +0

    Sie haben Bibliothek vermasselt, aber proguard aktivieren, bevor Sie alle notwendigen Regeln hinzufügen – Ak9637

    1

    Proguard sollte der Weg sein, da es den unbenutzten Code entfernt und den Namen der Variablen/Methode in etwas wie a, b, c, aa, ab umbenennt.

    Welche Menge kann reduziert werden? Es kommt darauf an. Meine Situation ist eine 10M Apk wurde mit Proguard auf 8M reduziert.

    Ist es sicher? Eines der Ziele von Proguard ist, dass es den Code verschleiert, was es für Reverse Engineering schwierig macht.

    Verwandte Themen