Configura cómo se ejecuta R8

El complemento de configuración te permite crear perfiles de ejecución para la herramienta R8, lo que te permite configurar cómo se ejecuta R8 para que no ralentice tu compilación. Según el entorno, puedes usar perfiles para ejecutar R8 en un proceso de JVM independiente y establecer argumentos de JVM, como el tamaño máximo del montón.

Cómo declarar un perfil de ejecución

Aplica el complemento de configuración y, luego, agrega el bloque android al archivo settings.gradle. En este bloque, puedes definir diferentes perfiles y, luego, establecer uno predeterminado, como se muestra en el siguiente ejemplo:

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"
        }
    }
}

Cómo anular el perfil predeterminado

Para anular el perfil de ejecución predeterminado actual, agrega la siguiente propiedad al archivo gradle.properties.

android.settings.executionProfile=example-profile