Konfigurowanie sposobu działania R8

Wtyczka ustawień umożliwia tworzenie profili wykonania narzędzia R8, dzięki czemu możesz skonfigurować sposób działania R8, aby nie spowalniało kompilacji. W zależności od środowiska możesz używać profili do uruchamiania R8 w osobnym procesie JVM i ustawiać argumenty JVM, takie jak maksymalny rozmiar sterty.

Deklarowanie profilu wykonania

Zastosuj wtyczkę ustawień, a następnie dodaj blok android do pliku settings.gradle. W tym bloku możesz zdefiniować różne profile, a następnie ustawić profil domyślny, jak pokazano w tym przykładzie:

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

Zastępowanie profilu domyślnego

Aby zastąpić bieżący domyślny profil wykonywania, dodaj tę właściwość do pliku gradle.properties.

android.settings.executionProfile=example-profile