Accelerare la compilazione di gradi in Android Studio 3.2.1
Hai mai pensato di aspettare il completamento delle build in Android Studio per pochi minuti? Anch'io. Ed è piuttosto fastidioso. Fortunatamente, ci sono alcuni modi che è possibile utilizzare per migliorare questo. Android utilizza Gradle per la costruzione. L'ultima versione è 4.6 ha un enorme aumento delle prestazioni rispetto alle versioni precedenti (vedere le note di rilascio per i dettagli).
Passaggio 1: Aggiorna la versione di Gradle Un modo più semplice per raggiungere questo obiettivo è andare a: Apri le impostazioni del modulo (il tuo progetto)> Struttura del progetto
AGGIORNARE
Passa alla versione Gradle: 4.6
e passa alla versione del plug-in Android: 3.2.1
Scarica il distributore Gradle Release da https://services.gradle.org/distributions/gradle-4.6-all.zip
e copialo nella cartella Gradle:
L'ultimo passo è aggiungere la tua discrezione in Impostazioni> Grado
Non dimenticare di fare clic su Applica per salvare le modifiche.
Passaggio 2: abilitare la modalità offline, il demone Gradle e la build parallela per il progetto La modalità offline dice a Gradle di ignorare i controlli aggiornati. Gradle chiede dipendenze ogni volta e questa opzione consente di utilizzare solo le dipendenze già presenti sulla macchina. Vai a Gradle da Android Studio Setting e fai clic nella casella di lavoro Offline.
- Vai a Compilatore da Android Studio Impostazione e aggiungi "- offline" nella casella della riga di comando e fai clic su Compila moduli indipendenti in parallelo.
Il prossimo passo è abilitare il demone Gradle e la build parallela per il tuo progetto. Le build parallele faranno sì che i tuoi progetti con più moduli (build multiprogetto in Gradle) vengano costruiti in parallelo, il che dovrebbe rendere i progetti di grandi dimensioni o modulari più veloci.
Queste impostazioni potrebbero essere abilitate modificando un file chiamato gradle.properties nella directory degli script Gradle (ad es. ~ / .Gradle / gradle.properties). Alcune di queste opzioni (ad es. Moduli Complie in parallelo) sono disponibili da Android Studio e abilitate lì da impostazione predefinita, ma inserendoli nel file gradle.properties li abiliteranno durante la compilazione dal terminale e assicurandoti anche che i tuoi colleghi utilizzino le stesse impostazioni. Ma se stai lavorando in una squadra, a volte non puoi commettere queste cose.
# 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'uso del demone renderà più veloce l'avvio delle build in quanto non sarà necessario avviare ogni volta l'intera applicazione Gradle. Gradle Daemon non è abilitato per impostazione predefinita, ma è consigliabile abilitarlo sempre per le macchine degli sviluppatori (ma lasciandolo disabilitato per i server di integrazione continua). Le domande frequenti su questa modalità sono disponibili qui https://docs.gradle.org/current/userguide/gradle_daemon.html . L'impostazione di build parallele potrebbe non essere sicura per alcuni progetti. Il requisito è che tutti i tuoi moduli debbano essere disaccoppiati o la tua build potrebbe fallire (vedi http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects per i dettagli).
Passaggio 3: abilitare la dexign incrementale e modificare le impostazioni della memoria È possibile velocizzare le build attivando la dexing incrementale. Nel file di build del tuo modulo:
Aggiungi questa opzione al tuo blocco Android:
dexOptions {
incremental true
}
In quel blocco dexOptions puoi anche specificare la dimensione dell'heap per il processo dex, ad esempio:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
Dove "12g" è 12 GB di memoria. Ulteriori informazioni al riguardo sono disponibili qui google.github.io/android-gradle-dsl/current/ È inoltre possibile configurare i parametri Gradle nel file delle impostazioni, ad esempio aumentare la dimensione massima dell'heap nel caso si abbia un progetto di grandi dimensioni:
# 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
Vedi tutto l'elenco dei parametri qui: https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties per i dettagli.
Passaggio 4: disabilitare l'antivirus Considerare di escludere i file di progetto e cache dalla scansione antivirus. Questo è ovviamente un compromesso con la sicurezza. Ma se passi molto da un ramo all'altro, l'antivirus eseguirà nuovamente la scansione dei file prima di consentire l'utilizzo del processo gradle, il che rallenta i tempi di costruzione (in particolare il progetto di sincronizzazione di Android Studio con file gradle e attività di indicizzazione). Misura i tempi di compilazione ed elabora la CPU con e senza antivirus abilitato per vedere se è correlata. Spero che questo possa essere d'aiuto. Lascia un commento in caso di domande o altri suggerimenti per migliorare le prestazioni della build.
link utile