android-gradle
Code rétractable et ressources
Recherche…
Remarques
Pour rendre votre fichier APK aussi petit que possible, vous devez activer la réduction pour supprimer le code et les ressources inutilisés dans votre version.
Réduire le code avec ProGuard
Pour activer la réduction du code avec ProGuard, ajoutez minifyEnabled
au type de génération approprié dans votre fichier build.gradle
.
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile(‘proguard-android.txt'),
'proguard-rules.pro'
}
}
}
où:
-
minifyEnabled true
: Activer le code réduit - La
getDefaultProguardFile('proguard-android.txt')
obtient les paramètres ProGuard par défaut du SDK Android - Le fichier
proguard-rules.pro
est l'endroit où vous pouvez ajouter des règles ProGuard personnalisées.
Réduire les ressources
Pour activer la réduction des ressources, définissez la propriété shrinkResources
sur true dans votre fichier build.gradle
.
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Faites attention car la réduction des ressources ne fonctionne que si vous réduisez le code .
Vous pouvez personnaliser les ressources à conserver ou à supprimer en créant un fichier XML comme celui-ci:
<?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" />
Enregistrez ce fichier dans le dossier res/raw
.
Supprimer les ressources alternatives inutilisées
Toutes les bibliothèques sont fournies avec des ressources qui ne sont pas nécessairement utiles pour votre application. Par exemple, les services Google Play sont fournis avec des traductions pour les langues que votre propre application ne prend même pas en charge.
Vous pouvez configurer le fichier build.gradle pour spécifier la ressource que vous souhaitez conserver.
Par exemple:
defaultConfig {
// ...
resConfigs "en", "de", "it"
resConfigs "nodpi", "xhdpi", "xxhdpi", "xxxhdpi"
}