2016-07-05 92 views
8

Ho un progetto molto grande, con molti sottoprogetti configurati in Gradle. Quando eseguo una compilazione pulita dalla riga di comando, sono necessari circa 10 minuti, ma in seguito, la costruzione dell'intero progetto è molto veloce.IntelliJ IDEA impiega molto tempo quando si aggiorna un progetto Gradle

Il mio problema si presenta quando si importa il progetto in IntelliJ Community Edition. Quando si esegue l'importazione per la prima volta, sono necessari circa 10 minuti, ma in seguito, ogni volta che eseguo un aggiornamento sul progetto, richiede sempre lo stesso tempo. Vedo l'attività in background in esecuzione: vedo i messaggi visualizzati molto rapidamente, quindi è disponibile allo Gradle: Build e non ho idea di cosa stia facendo!

ho provato ad aumentare il livello di registro, e vedo un messaggio DEBUG dicendo che: .project.GradleProjectResolver - Gradle data obtained in 311943 ms, che credo sia la ragione che ci vuole un sacco di tempo, ma come ho detto, non ho idea di quello che sta facendo, che ha bisogno di questo quantità di tempo

BTW, sto usando l'involucro Gradle (non so se si fa la differenza)

Ogni aiuto è apprezzato, Grazie in anticipo

+0

Potrebbe essere lo stesso problema di questo: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206812445-Risoluzione dei problemi-estremamente-lungo-refres-di-Gradle-projects –

risposta

7

stavo sperimentando un problema simile con Gradle 3.4.1 e IDEA 2016.3.5. Un aggiornamento di un progetto consistente richiedeva circa 30 minuti. Ho collegato il tuo profiler YourKit al demone Gradle per indagare su cosa stava facendo. Ho notato che passava molto tempo in java.net.Inet6AddressImpl.lookupAllHostAddr. Ho trovato rapidamente questa soluzione: http://justthesam.com/2016/10/fixing-java-net-inet6addressimpl-lookupallhostaddr-slowdown/

Sembra essere un problema con i processi Java su Mac OSX su una rete che non supporta IPv6, con conseguente timeout sulle ricerche IPv6. Per applicare questa correzione, immettere hostname in una finestra di terminale per cercare il nome host. Quindi aggiungere il nome host a /etc/hosts.

127.0.0.1 localhost Your-Hostname-Here 
::1   localhost Your-Hostname-Here 

Lascia localhost in là per essere sicuri di non rompere niente altro. Complimenti a Sam per aver trovato questa soluzione.

Si noti che potrebbero verificarsi lunghi aggiornamenti per molti motivi diversi. Ma collegare un profiler sul daemon Gradle dovrebbe darti più informazioni su cosa sta succedendo.

+0

I provato su Android Studio2.4, non funziona – Stony