Android-Support-Bibliothek erhöht die APK-Größe sehr

Ich benutze die AppCompat Support-Bibliothek in meinem Android-Projekt. AppCompat hat viele Drawables und Ressourcen, die ich nicht in meiner App verwende. Diese unnötigen Dateien erhöhen meine 900K App auf über 2M , was ich nicht mag.
Gibt es eine Möglichkeit, diese Dateien beim Erstellen der APK-Datei auszuschließen? Oder ich sollte die Bibliothek in meinem Code verschleiern, anstatt eine Abhängigkeit zu machen? Ich benutze Gradle in Android Studio.

Vielen Dank

EDIT 1 Ich benutze Proguard schon. Aber Proguard kann nicht wissen, dass ich nicht drawable-xxxhdpi oder values-it zum Beispiel haben drawable-xxxhdpi .

EDIT 2 Ich benutze auch Android Lint, die mir nicht helfen kann, beacuse Ich greife nicht direkt auf lib's Code und android fügt sie beim Erstellen der APK-Datei hinzu.

  • Befreien Sie sich von ActionBar Schatten über SlidingTabLayout
  • Verwenden Sie Tab mit neuer ToolBar (AppCompat v7-21)
  • AppCompat ToolBar popupTheme wird nicht im ShareAction MenuItem verwendet
  • Toolbar und Contextual ActionBar mit AppCompat-v7
  • Der Import android.support.v7.app kann nicht behoben werden
  • Statusleiste Farbe nicht angezeigt - 5.0 Lollipop Android Studio: (AppCompat-v7: r21)
  • Wie baue ich AppCompatDialog aus AlertDialog.Builder oder Äquivalent?
  • SwitchCompat-Wurffehler
  • 4 Solutions collect form web for “Android-Support-Bibliothek erhöht die APK-Größe sehr”

    Von Android Gradle Build System, seit Version 0.7.0:

    Neue Option auf Produkt Flavor (und defaultConfig ) ermöglicht das Filtern von Ressourcen über die Option -c aapt Sie können Einzelwert ( resConfig ) oder mehrere Werte ( resConfigs ) über die DSL übergeben. Alle Werte aus der Standardkonfiguration und den Aromen werden kombiniert und an aapt . Siehe "Basis" Probe. In der "Basis" Probe:

     defaultConfig { ... resConfig "en" resConfigs "nodpi", "hdpi" } 

    Also versuch folgendes, um zu erreichen, was du gefragt hast:

     productFlavors { ... frOnly { resConfig "fr" } ... } 

    Beachten Sie, dass Sie vielleicht auch *dpi , port , land , etc .. auch.

    Antwort ist von: Android Studio exportiert Strings von der Unterstützungsbibliothek zu APK , dank Primoz990

    Ab Version 24.2.0 wurde die v4 Support Library in mehrere kleinere Module aufgeteilt .

    Also, abgesehen von der Verwendung von shrinkResources und proguardFiles , stellen Sie auch sicher, dass Sie nur die spezifischen Module verwenden, die Ihre App benötigt. z.B

    Wenn Ihre App nur Compat utils wie NotificationCompat, ContextCompat oder ResourcesCompat etc. verwendet, verwenden Sie nur das Compat-Modul als:

     compile 'com.android.support:support-compat:24.2.0' 

    ShrinkResources kann auch eine Option für Sie sein. Es ist seit 0.14 verfügbar – aber seien Sie vorsichtig – es hat noch einige Pits wie Schutzressourcen bei der Verwendung von shrinkResources

    Obwohl OP geklärt hat, dass er Proguard benutzt, würde ich gern einen Code posten, wenn es jemandem hilft, weil ich in der Lage bin, meine App von 3,8 MB auf 3,1 MB mit der angenommenen Antwort zu schrumpfen und weiter zu nur 1,8 MB durch Proguard. Ich habe diese Konfiguration in meiner App-Ebene erstellt build.gradle Datei:

     buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.