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?

26
demandé sur Adil Hussain 2016-05-03 17:53:20

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.

32
répondu Mattia Maestrini 2016-05-03 15:01:55

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

1
répondu user8100646 2018-04-14 16:06:12