web-dev-qa-db-fra.com

Quelle est la signification de: incremental, preDexLibraries, jumboMode, inside dexOptions?

à l'intérieur de build.gradle, nous pouvons ajouter que les paramètres

Android {
    dexOptions {
        incremental 
        preDexLibraries
        jumboMode 
        javaMaxHeapSize
    }
}

mais la documentation est trop faible

http://google.github.io/Android-gradle-dsl/current/com.Android.build.gradle.internal.dsl.DexOptions.html#com.Android.build.gradle.internal.dsl. DexOptions

incrémental booléen

Indique s'il faut activer le mode incrémentiel pour dx. Cela a de nombreuses limites et peut ne pas fonctionner. Utilisez avec précaution.

booléen jumboMode

Activez le mode jumbo dans dx (--force-jumbo).

preDexLibraries booléen

Que ce soit pour les bibliothèques pré-dex. Cela peut améliorer les versions incrémentielles, mais les versions propres peuvent être plus lentes.

1) Quelles sont les limitations incrémentielles?

2) Qu'est-ce que le mode Jumbo?

3) Qu'est-ce que les bibliothèques pré-dex?

23
Xan

permet tout d'abord de voir ce qui est un fichier dex. en pur Java lorsque vous compilez le code Java, il sera compilé dans un .class fichier en Android votre Java sera compilé dans .dex fichier. (les deux sont des bytecodes mais différents)

incremental: cela signifie que Gradle utilisera le fichier dex précédent et y ajoutera les nouvelles modifications (sans les reconstruire à chaque fois).

la réponse de votre premier Q: par ex. l'une des limitations était que vous ne pouviez pas l'utiliser avec multidex * (bien que cette limitation ait été résolue - pour les versions sdk, 21+ versions incrémentielles sont possibles pour les apks multidex en reconstruisant uniquement les fichiers dex affectés)

-note: vous n'avez plus à vous soucier de ces limitations car l'option incrémentielle est vraie par défaut depuis Gradle version 2.1.0

multidex: cette option signifie la compilation de Java dans plusieurs fichiers dex, vous n'en avez pas besoin à moins que vos méthodes de code ne dépassent la limitation maximale sur un seul fichier dex (méthodes 64k)

jumboMode (la réponse de votre deuxième Q): il existe également une limitation pour le nombre de chaînes dans le fichier dex, l'activation de cette option étendra le nombre de chaînes dans le fichier dex (cette option est vraie depuis Gradle 2.1.0 donc vous n'avez pas à vous en soucier non plus)

preDexLibraries (la réponse de votre troisième Q): il construit un fichier dex à partir des bibliothèques afin qu'il puisse être utilisé dans builds incrémentiels (pas de construction de fichiers dex tous les temps pour les bibliothèques). donc l'utilisation de cet élément lors d'une construction propre rend tout un peu plus lent.

19
Amir Ziarati