android-gradle
Code und Ressourcen verkleinern
Suche…
Bemerkungen
Um Ihre APK-Datei so klein wie möglich zu machen, sollten Sie das Verkleinern aktivieren, um nicht verwendeten Code und Ressourcen in Ihrem Release-Build zu entfernen.
Verkleinern Sie den Code mit ProGuard
minifyEnabled
Sie minifyEnabled
true zum entsprechenden Build-Typ in Ihrer build.gradle
Datei hinzu, um die Code-Verkleinerung mit ProGuard zu build.gradle
.
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile(‘proguard-android.txt'),
'proguard-rules.pro'
}
}
}
woher:
-
minifyEnabled true
: Code-Verkleinerung aktivieren - Die
getDefaultProguardFile('proguard-android.txt')
die ProGuard-Standardeinstellungen vom Android SDK ab - In der Datei
proguard-rules.pro
können Sie benutzerdefinierte ProGuard-Regeln hinzufügen
Verkleinern Sie die Ressourcen
Um die Ressourcenverkleinerung zu aktivieren, setzen Sie die Eigenschaft build.gradle
Datei shrinkResources
auf true.
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Beachten Sie, dass die Ressourcenverkleinerung nur in Verbindung mit der Code-Verkleinerung funktioniert .
Sie können anpassen, welche Ressourcen beim Erstellen einer XML-Datei wie folgt gespeichert oder verworfen werden sollen:
<?xml version=1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/mylayout,@layout/custom_*"
tools:discard="@layout/unused" />
Speichern Sie diese Datei im Ordner res/raw
.
Entfernen Sie nicht verwendete alternative Ressourcen
Alle Bibliotheken werden mit Ressourcen geliefert, die für Ihre Anwendung nicht notwendig sind. Zum Beispiel enthält Google Play Services Übersetzungen für Sprachen, die von Ihrer eigenen Anwendung nicht unterstützt werden.
Sie können die Datei build.gradle konfigurieren, um anzugeben, welche Ressource Sie behalten möchten.
Zum Beispiel:
defaultConfig {
// ...
resConfigs "en", "de", "it"
resConfigs "nodpi", "xhdpi", "xxhdpi", "xxxhdpi"
}