Configurare la modalità di esecuzione di R8

Il plug-in delle impostazioni consente di creare profili di esecuzione per lo strumento R8, in modo da configurare la modalità di esecuzione di R8 per non rallentare la build. A seconda dell'ambiente, puoi utilizzare i profili per eseguire R8 in un processo JVM separato e impostare argomenti JVM, ad esempio la dimensione massima dell'heap.

Dichiarare un profilo di esecuzione

Applica il plug-in delle impostazioni, quindi aggiungi il blocco android al file settings.gradle. In questo blocco puoi definire profili diversi e poi impostarne uno predefinito, come mostrato nell'esempio seguente:

Kotlin

android {
    execution {
        profiles {
            create("server") {
                r8 {
                    runInSeparateProcess = true
                    jvmOptions += listOf("-Xms2048m", "-Xmx8192m", "-XX:+HeapDumpOnOutOfMemoryError")
                }
            }
            create("local") {
                r8 {
                    runInSeparateProcess = true
                    jvmOptions += listOf("-Xms256m", "-Xmx2048m", "-XX:+HeapDumpOnOutOfMemoryError")
                }
            }
            defaultProfile = "server"
        }
    }
}

Groovy

android {
    execution {
        profiles {
            register("server") {
                r8 {
                    runInSeparateProcess = true
                    jvmOptions += ["-Xms2048m", "-Xmx8192m", "-XX:+HeapDumpOnOutOfMemoryError"]
                }
            }
            register("local") {
                r8 {
                    runInSeparateProcess = true
                    jvmOptions += ["-Xms256m", "-Xmx2048m", "-XX:+HeapDumpOnOutOfMemoryError"]
                }
            }
            defaultProfile = "server"
        }
    }
}

Eseguire l'override del profilo predefinito

Per ignorare il profilo di esecuzione predefinito corrente, aggiungi la seguente proprietà al file gradle.properties.

android.settings.executionProfile=example-profile