Accélérez la construction de Gradle dans Android Studio 3.2.1
Avez-vous déjà eu l'impression d'attendre que les versions soient terminées dans Android Studio pendant quelques minutes? Moi aussi. Et c'est assez ennuyeux. Heureusement, il existe plusieurs façons d'améliorer cela. Android utilise Gradle pour la construction. La dernière version est 4.6 a une énorme amélioration des performances par rapport aux versions précédentes (voir les notes de publication pour plus de détails).
Étape 1: mise à jour de la version Gradle Un moyen plus simple d'y parvenir consiste à accéder à: Ouvrir les paramètres du module (votre projet)> Structure du projet
MISE À JOUR
Passez à la version Gradle: 4.6
et passez à la version du plug-in Android: 3.2.1
Téléchargez la distribution Gradle Release depuis https://services.gradle.org/distributions/gradle-4.6-all.zip
Et copiez-la dans le dossier Gradle:
La dernière étape consiste à ajouter votre distribution dans Paramètres> Gradle
N'oubliez pas de cliquer sur Appliquer pour enregistrer les modifications.
Étape 2: Activez le mode hors ligne, le démon Gradle et la construction parallèle pour le projet Le mode hors ligne indique à Gradle d'ignorer les vérifications de mise à jour. Gradle demande des dépendances à chaque fois et ayant cette option, il utilise simplement ce qui est déjà sur la machine pour les dépendances. Accédez à Gradle depuis Android Studio Setting et cliquez dans la zone de travail hors ligne.
- Accédez au compilateur depuis Android Studio Setting et ajoutez «- offline» dans la zone de ligne de commande et cliquez sur Compiler des modules indépendants en parallèle.
L'étape suivante consiste à activer le démon Gradle et la génération parallèle pour votre projet. Les builds parallèles feront que vos projets avec plusieurs modules (builds multi-projets dans Gradle) seront construits en parallèle, ce qui devrait accélérer la construction de projets volumineux ou modulaires.
Ces paramètres pourraient être activés en modifiant un fichier nommé gradle.properties dans le répertoire des scripts Gradle (c'est-à-dire ~ / .gradle / gradle.properties). Certaines de ces options (par exemple, les modules Complie en parallèle) sont disponibles à partir d'Android Studio et également activées par par défaut, mais les placer dans le fichier gradle.properties les activera lors de la construction à partir du terminal et s'assurera également que vos collègues utiliseront les mêmes paramètres. Mais si vous travaillez en équipe, vous ne pouvez parfois pas engager ce genre de choses.
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
L'utilisation du démon accélérera le démarrage de vos builds car il n'aura pas à démarrer l'intégralité de l'application Gradle à chaque fois. Le démon Gradle n'est pas activé par défaut, mais il est recommandé de toujours l'activer pour les machines des développeurs (mais en le laissant désactivé pour les serveurs d'intégration continue). La FAQ sur ce mode peut être trouvée ici https://docs.gradle.org/current/userguide/gradle_daemon.html . Le paramètre de génération parallèle peut être dangereux pour certains projets. La condition est que tous vos modules doivent être découplés ou votre build pourrait échouer (voir http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects pour plus de détails).
Étape 3: Activer la décomposition incrémentielle et modifier les paramètres de mémoire Vous pouvez accélérer vos builds en activant la décomposition incrémentielle. Dans le fichier de construction de votre module:
Ajoutez cette option à votre bloc Android:
dexOptions {
incremental true
}
Dans ce bloc dexOptions, vous pouvez également spécifier la taille de segment de mémoire pour le processus dex, par exemple:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
Où «12g» correspond à 12 Go de mémoire. Des informations supplémentaires à ce sujet peuvent être trouvées ici google.github.io/android-gradle-dsl/current/ Vous pouvez également configurer les paramètres Gradle dans le fichier de paramètres, par exemple augmenter la taille maximale du tas dans le cas où vous avez un grand projet:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Voir toute la liste des paramètres ici: https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties pour plus de détails.
Étape 4: désactivation de l'antivirus Envisagez d'exclure les fichiers de projet et de cache de l'analyse antivirus. C'est évidemment un compromis avec la sécurité. Mais si vous basculez souvent entre les branches, l'antivirus réanalysera les fichiers avant d'autoriser le processus Gradle à l'utiliser, ce qui ralentit le temps de construction (en particulier le projet de synchronisation Android Studio avec les fichiers Gradle et les tâches d'indexation). Mesurez le temps de génération et traitez le processeur avec et sans antivirus activé pour voir s'il est lié. J'espère que ça aide. Laissez un commentaire si vous avez des questions ou d'autres conseils pour améliorer les performances de construction.
lien utile