Quelle est la différence entre "minifyEnabled" et "useProguard" dans le Plugin Android pour Gradle?
je vois que le Plugin Android pour Gradle a une propriété minifyEnabled
ainsi qu'une propriété useProguard
, comme suit:
android {
buildTypes {
debug {
minifyEnabled true
useProguard false
}
release {
minifyEnabled true
useProguard true
}
}
}
Quelle est la différence entre ces deux propriétés? Ou plutôt, Quelle est la signification de chacun?
2 réponses
citant tools.android.com :
shrinker incorporé
Version 2.0 de Plugin Android pour les navires de code shrinker intégré, qui peut être utilisé à la place de ProGuard. Le shrinker intégré soutient des passages incrémentiels rapides et est destiné à la vitesse jusqu'itération cycles. Il peut être activé en utilisant le code suivant: extrait:
android { buildTypes { debug { minifyEnabled true useProguard false proguardFiles getDefaultProguardFile('proguard-android.txt') } } }
le rétracteur intégré ne peut supprimer que le code mort, il ne peut pas brouiller ou optimiser. Il peut être configuré en utilisant les mêmes fichiers que ProGuard, mais ignorera tous les drapeaux liés à l'obfuscation ou optimisation.
contrairement à ProGuard, nous soutenons l'utilisation du rétracteur intégré avec Exécution instantanée: selon le projet, il peut diminuer de manière significative la construction initiale et le temps d'installation. Toutes les méthodes que devenir accessible après un changement de code apparaîtra comme nouvellement ajouté au programme et prévenir un Instant Exécuter hotswap.
juste activer minifyEnabled
aura le code à la fois optimisé et brouillé.
C'est parce que useProguard true
est par défaut donc pas besoin de le préciser explicitement.
voir aussi: Dissimulation dans Android Studio