2014-12-08 14 views
5

Ho avuto un orribile tempo di costruzione da Android Studio e volevo sapere se avete suggerimenti per le ottimizzazioni. Ecco un po 'di dettagli sulla applicazione Attualmente sto lavorando su:Suggerimenti per l'ottimizzazione dei tempi di costruzione in Android Studio?

  • 65k problema limite funzioni, utilizzando la più recente correzione multidex dal pkg supporto
  • utilizza circa 10-15 Biblioteche
  • utilizzi 1 -2 lib native (.so)
  • Provato usando il trucco pre-dex, i risultati variano.
  • Tempo di costruzione prima integrando tessuto Twitter ~ 1m30sec
  • Tempo di costruzione dopo integrazione tessuto Twitter 4m30sec - 14m30sec

Hardware/Software spec:

  • i7 4240
  • 16GB RAM
  • SSD da 250 GB

Eventuali suggerimenti, i commenti sono più accolti :)

EDIT 1

Aggiunto profilazione risultati:

<div class="tab" id="tab0"> 
<h2>Summary</h2> 
<table> 
<thead> 
<tr> 
<th>Description</th> 
<th class="numeric">Duration</th> 
</tr> 
</thead> 
<tr> 
<td>Total Build Time</td> 
<td class="numeric">8m44.29s</td> 
</tr> 
<tr> 
<td>Startup</td> 
<td class="numeric">1.813s</td> 
</tr> 
<tr> 
<td>Settings and BuildSrc</td> 
<td class="numeric">0.038s</td> 
</tr> 
<tr> 
<td>Loading Projects</td> 
<td class="numeric">0.009s</td> 
</tr> 
<tr> 
<td>Configuring Projects</td> 
<td class="numeric">5.889s</td> 
</tr> 

http://jsfiddle.net/gp6o04dL/

+0

Ho avuto lo stesso problema, con quasi la stessa spec. Ogni cambiamento che ho apportato alle sorgenti ha causato un serio ritardo fino a 2 minuti prima che potessi eseguirlo sul dispositivo, cosa che mi ha reso estremamente frustrato ... Alla fine ho migrato il progetto su Eclipse ... ora ci vogliono 11 secondi per l'installazione dell'applicazione. – TacB0sS

+1

Prova a costruire dalla riga di comando con il flag '--profile', guarda il rapporto di profilazione che inserisce in' build/reports/profile/', e includi le informazioni nella tua domanda. –

+0

Aggiunti risultati di profiling usando gradlew build --profile – Vannen

risposta

2

Si può provare con. ..

File -> Impostazioni -> selezionare Gradle -> Impostazioni Gradle globali -> lavoro offline

1

Si può fare un sacco di cose, uno di loro è la disabilitazione Crashlytics per il sapore di debug.
In build.gradle:

android { 
    ... 
    buildTypes { 
    debug { 
     ext.enableCrashlytics = false 
    } 
} 

Nella classe in cui è inizializzato tessuti:

Crashlytics crashlyticsKit = new Crashlytics.Builder() 
    .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) 
    .build(); 

Fabric.with(this, crashlyticsKit); 

Spero che questo aiuti.

Riferimento: https://developer.android.com/studio/build/optimize-your-build.html

Problemi correlati