Android Studio gradle prend trop de temps à construire

MonAndroid Studio Projet utilisé pour construire plus rapidement, mais maintenant il faut beaucoup de temps pour construire. Des idées sur ce qui pourrait causer les retards? J'ai essayé https://stackoverflow.com/a/27171878/391401 {[5] } mais aucun effet. Je n'ai aucun antivirus en cours d'exécution qui pourrait interrompre les builds. Mon application n'est pas aussi grande (autour de 5MB) et elle se construisait en quelques secondes mais ne savait pas ce qui a changé.

10:03:51 Gradle build finished in 4 min 0 sec  
10:04:03 Session 'app': running  
10:10:11 Gradle build finished in 3 min 29 sec  
10:10:12 Session 'app': running  
10:20:24 Gradle build finished in 3 min 42 sec  
10:28:18 Gradle build finished in 3 min 40 sec  
10:28:19 Session 'app': running  
10:31:14 Gradle build finished in 2 min 56 sec   
10:31:14 Session 'app': running  
10:38:37 Gradle build finished in 3 min 30 sec  
10:42:17 Gradle build finished in 3 min 40 sec  
10:45:18 Gradle build finished in 3 min 1 sec  
10:48:49 Gradle build finished in 3 min 30 sec  
10:53:05 Gradle build finished in 3 min 22 sec  
10:57:10 Gradle build finished in 3 min 19 sec  
10:57:11 Session 'app': running  
182
demandé sur Community 2015-04-01 15:55:43

17 réponses

Dans Android Studio aller à Fichier -> Paramètres -> Construire, L'Exécution, Le Déploiement -> Créer Des Outils -> Gradle

(si sur mac) Android Studio -> préférences... -> Construire, L'Exécution, Le Déploiement -> Créer Des Outils -> Gradle

Cochez la case "travail hors ligne "sous" Paramètres globaux de Gradle "

Cela réduira le temps de construction de gradle de 90%.

cochez cette case pour réduire le temps de construction

Si vous venez d'ajouter une nouvelle dépendance dans votre gradle vous devrez décocher la travailler hors connexion ou gradle ne sera pas en mesure de résoudre les dépendances. Après la résolution complète, vous pouvez vérifier le travail hors ligne pour une construction plus rapide

385
répondu Biswajit Karmakar 2018-01-30 19:03:16

Si vous utilisez les services Google Play, assurez-vous de ne pas l'utiliser dans votre script de génération Gradle:

compile 'com.google.android.gms:play-services:8.3.0'

N'utilisez que les API Google que votre application utilise réellement. Si tout ce que vous utilisez est Google Maps, vous utiliserez ceci:

com.google.android.gms:play-services-maps:8.3.0

Quand j'ai fait cela, mon temps de compilation est passé de plus de 2 minutes à environ 25 secondes. Pour une liste des API Google que vous pouvez compiler sélectivement, consultez:

Https://developers.google.com/android/guides/setup

137
répondu AndroidDev 2015-11-29 01:37:26

Trouvé un moyen facile et le meilleur pour construire gradle

Accédez à votre application > > ouvrez votre gradle.propriétés et changer quelques lignes [supprimer #]

Sinon, vous pouvez également copier coller mon extrait ci-dessous

    # Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
 org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 org.gradle.parallel=true

Cela a fonctionné pour moi plus tôt cela prend presque 2-3 minutes maintenant cela ne prend que 5-6 secondes

Dans le scénario ci-dessus, ma machine mac a 8 Go de ram, donc j'ai assigné 4 Go pour gradle

37
répondu Android is everything for me 2016-07-14 11:07:37

Trouvé la raison!! Si Android Studio a un paramètre de serveur proxy et ne peut pas atteindre le serveur, il faut beaucoup de temps pour construire, probablement essayer d'atteindre le serveur proxy et attendre un délai d'attente. Lorsque j'ai supprimé le serveur proxy, il fonctionnait bien.

Suppression du proxy: File > Settings > Appearance & Behavior > System settings > HTTP Proxy

32
répondu Harish 2017-01-11 08:02:41

L'activation des fonctionnalités de Java 8 a causé une construction lente mortelle

gradle

 jackOptions {
        enabled true
  }

  compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

Après avoir supprimé les lignes ci-dessus, il se construit en quelques secondes.

Il y a un problème la compilation avec Jack prend très longtemps

Réponse du chef de projet

Nous sommes conscients que les temps de construction sont un problème avec Jack en ce moment. Nous avons des améliorations dans le plugin 2.4 Gradle qui devrait être une amélioration significative pour les constructions incrémentielles.

À partir de maintenant, la dernière version Gradle que je peux trouver est 2.3.0-beta4

17
répondu tchelidze 2017-02-17 07:01:53

Suivre les étapes le rendra 10 fois plus rapide et réduira le temps de construction de 90%

Créez D'abord un fichier nommé gradle.propriétés dans le répertoire suivant:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

Ajoutez cette ligne au fichier:

org.gradle.daemon=true

org.gradle.parallel=true
15
répondu user779370 2016-04-06 18:44:57

Lecture Recommandée: Comment je sauve 5h / semaine sur Gradle builds !

Selon cet excellent post, vous devriez essayer d'optimiser ce qui suit:

  • Démon Gradle
  • Exécution Parallèle Du Projet
  • Configurer les projets à la demande
  • les Modules sont chers...
15
répondu Oded Regev 2016-04-20 08:53:43

@ AndroidDev solution a fonctionné pour moi. J'avais inclus toute la lib dans gradle.

compile 'com.google.android.gms:play-services:8.4.0'

Changer pour résoudre le problème. De 4 min à 1 min.

compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'

Thnx

7
répondu KlevisGjN 2016-02-03 20:13:36

1) mon temps de construction a considérablement augmenté après avoir ajouté de nouvelles dépendances de bibliothèque à mon fichier gradle, ce qui s'est avéré que j'ai besoin d'utiliser multidex après cela. Et quand j'ai configuré multidex correctement, mes temps de construction sont allés jusqu'à 2-3 minutes. Donc, si vous voulez des temps de construction plus rapides, évitez d'utiliser multidex et, dans la mesure du possible, réduisez le nombre de dépendances de bibliothèque.

2) Vous pouvez également essayer d'activer le "travail hors ligne" dans android studio, comme suggéré ici, cela a du sens. Ce ne sera pas refetch bibliothèques chaque fois que vous faites une construction. Peut-être une connexion lente ou une utilisation de proxy / vpn avec un" travail hors ligne " désactivé peut entraîner des temps de construction lents.

3) services google - comme mentionné ici, n'utilisez pas le paquet entier, utilisez uniquement les parties nécessaires.

2
répondu lxknvlk 2016-10-17 11:27:06

Vérifiez votre connexion Internet. Si la vitesse d'internet est très lente, la construction de gradle prendra également beaucoup de temps à construire. Je vérifie en changeant ma connexion Internet wifi avec une autre connexion à bonne vitesse. Maintenant, le temps de construction est normal. Veuillez essayer ceci avant de passer à d'autres solutions. quelqu'un prendra une mauvaise décision pour réinstaller ou modifier les paramètres. J'espère que ça aidera. Merci et salutations.

2
répondu Karthikeyan Dheshnamoorthy 2017-01-23 07:01:53

Dans la version bêta Android studio 2.0, ils ont lancé une fonctionnalité appelée Éphémère Exécuter. Cela réduit le temps de construction d'un facteur important. Le concept de base est, Android Studio ne pousse que les petites modifications apportées à une application déjà en cours d'exécution.

Il classe les modifications que nous apportons dans notre code en trois parties: échange à chaud, échange à chaud et échange à froid, en fonction de la charge que le changement mettrait sur la construction. Après cela, il échange simplement le code dans l'application déjà en cours d'exécution et nous obtenez pu voir les changements en marche quelques secondes. Voir leur doc pour plus d'informations.

Ici vous pouvez télécharger Android Studio 2.0 aperçu.

PS: il y a quelques problèmes avec cette fonctionnalité. Ils ont énuméré à la documentation. Vérifier avant l'installation.

1
répondu Akeshwar Jha 2016-03-09 19:41:05
  1. Allez dans Fichier - > réglage- > Gradle->Réglez-le en mode hors ligne et cochez
1
répondu vikas khot 2017-10-31 10:22:52

J'ai été confronté au même problème pendant longtemps mais je l'ai résolu en ajustant les paramètres dans gradle.

Étape 1: dans L'Application Module ajouter une dépendance dans BuildScript

buildscript {
 dependencies {
         classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
}
}

Étape 2: Ajouter dexOption et donner la heapSize suivante

  dexOptions {
    incremental = true;
    preDexLibraries = false
    javaMaxHeapSize "4g"
}

Étape 3: Ajouter productFlavors

    productFlavors {
    dev {
        minSdkVersion 23
        applicationId = "com.Reading.home"
    }
    prod {
        minSdkVersion 15
        applicationId = "com.Reading.home" // you don't need it, but can be useful

    }
}

Cela devrait réduire votre temps de construction.

1
répondu Binesh Kumar 2017-11-15 07:50:07

Si vous utilisez Windows 8...

Solutions DroidArc et AndroidDev où utile, mais pas enougth. Mon problème était lié à mon système D'exploitation Windows 8 et à son utilisation du disque 100%.

Surtout le service de recherche Windows, était le plus consommant. Désactivez-le avec: cmd (Admin) > net.arrêt exe "Recherche Windows"

J'ai suivi les instructions de ce lien et il a résolu le problème pour de vrai 4 conseils pour réparer 100% L'Utilisation du disque et améliorer les performances de Windows

J'espère que cela aide.

0
répondu karenms 2017-02-28 22:53:23

J'ai eu le même problème dans kotlin. La mise à jour du runtime Kotlin obsolète l'a résolu pour moi

0
répondu Rami Amr 2017-12-27 08:58:30

J'ai eu un problème similaire sur mon ordinateur. Windows Defender bloquait une partie du bâtiment Gradle. Je l'ai désactivé, a bien fonctionné après cela.

-3
répondu rickdroio 2016-06-29 16:10:31

Essayez de redémarrer votre ordinateur et d'exécuter à nouveau Android Studio. Travaillé pour moi en essayant de construire un projet Cordova / Phonegap avec une base de code cible Android.

-38
répondu racl101 2015-06-03 15:14:43