Настройка работы R8

Плагин настроек позволяет создавать профили выполнения для инструмента R8, позволяя настраивать работу R8 таким образом, чтобы он не замедлял сборку. В зависимости от среды, вы можете использовать профили для запуска R8 в отдельном процессе JVM и устанавливать аргументы JVM, такие как максимальный размер кучи.

Объявить профиль выполнения

Примените плагин настроек , а затем добавьте блок android в файл settings.gradle . В этом блоке вы можете определить различные профили, а затем установить профиль по умолчанию, как показано в следующем примере:

Котлин

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

Классный

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

Переопределить профиль по умолчанию

Чтобы переопределить текущий профиль выполнения по умолчанию, добавьте следующее свойство в файл gradle.properties .

android.settings.executionProfile=example-profile