Extrêmement long à construire avec Gradle (Android Studio)

droit maintenant, nous sommes dans une situation de construire des temps de 2 minutes 30 secondes pour la très simple changement. C' (par rapport à ANT) est incroyablement lent et est en train de tuer la productivité de l'ensemble de l'équipe.
Je suis l'aide d'Android Studio et à l'aide de la "locale gradle de la distribution".
J'ai essayé de donner plus de mémoire à gradle:

org.gradle.jvmargs=-Xmx6096m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

Beaucoup plus de mémoire. ET IL EST ENCORE en DONNANT des ERREURS DE MÉMOIRE de temps en temps.

Exception in thread "pool-1-thread-1" de java.lang.OutOfMemoryError: GC généraux limite dépassée

Incroyable. Je suis en utilisant le parallèle de l'option et le démon:

org.gradle.en parallèle=true

org.gradle.daemon=true

Cela n'aide pas vraiment.

J'ai mis les paramètres susmentionnés dans ~/.gradle/gradle.les propriétés (et je doute même que Android studio est ignorant, je l'ai donc testé, il n'est pas en l'ignorant).

Toujours dans le terminal, j'obtiens 1:30 de temps de compilation vs 2:30 dans Android Studio, donc pas sûr de ce qui est mal il. 1:30 est TOUJOURS FOU par rapport à la Fourmi. Si vous savez ce qu'est Android Studio est en train de faire (ou d'ignorer, ou de réécriture que gradle config), je serais heureux de les connaître.

Donc, juste CMD + B (simple compilation) est super rapide après les changements, comme les 7 secondes.
Mais quand il s'agit de l'exécution de l'application, il commence la tâche dexXxxDebug, qui est juste de nous tuer.
J'ai essayé de mettre

dexOptions {
    preDexLibraries = false
}

Ne l'aide pas.

Je comprends que gradle est sans doute pas encore prêt pour les environnements de production, mais je commence à regretter notre décision d'aller de si tôt pour elle.
Nous avons beaucoup de modules, ce qui est probablement une partie du problème, mais ce n'était pas un problème avec les Fourmis.

Toute aide appréciée,
Dan

Plus d'information sur les temps d'exécution:

Description Durée

Total Build Time    1m36.57s
Startup 0.544s
Settings and BuildSrc   0.026s
Loading Projects    0.027s
Configuring Projects    0.889s
Task Execution  1m36.70s

Le temps eater:
:app:dexDebug 1m16.46s

  • Quand vous faites Cmd-B construit à partir de l'IDE, il ne fait pas une version complète en aller tout le chemin à un APK -- c'est pourquoi il est beaucoup plus lent quand vous allez à exécuter, parce que là, il fait un full APK et il le fait en dex, ce qui peut prendre du temps. Jetez un oeil à ce fil de discussion sur l'adt-dev mailing list qui explique les temps de construire groups.google.com/forum/#!topic/adt-dev/un-zmpJ6yCuI et rassembler les informations, les débats et d'augmenter votre question pour voir si nous pouvons faire toute la lumière sur elle.
  • Je sais que c'est juste de la compilation de la source, sans la construction de la dex. Mais comment était-Ant en mesure de faire face à cette tâche pour moins de 20 secondes, et j'ai besoin d'environ 2,5 minutes ici?
  • C'est une bonne question, mais si vous pouvez réunir plus d'informations je n'aurai pas à faire beaucoup de mauvaises suppositions 😉
  • Information sur le temps ajouté à la question.
  • Comme je l'ai dit, l'exécution de Gradle à partir de la console est plus rapide. Toutes les informations au sujet de la différence entre Android Studio et en cours d'exécution gradle directement les est également apprécié.
  • Cela vous aide? groups.google.com/forum/#!topic/adt-dev/r4p-sBLl7DQ
  • Cela aide BEAUCOUP. De 2,5/1,5 minutes à 37 à 40 secondes. Merci!!!! J'aimerais voir si nous pouvons optimiser davantage. Si vous postez votre commentaire comme réponse, je vais upvote (et probablement accepter après la collecte d'autres réponses).
  • Voir stackoverflow.com/questions/17324849/... -- faites défiler jusqu'à la plus récente des réponses

InformationsquelleAutor Danail | 2014-07-28