配置 R8 的运行方式

借助设置插件,您可以为 R8 工具创建执行配置文件,从而配置 R8 的运行方式,使其不会减慢 build 速度。根据环境的不同,您可以使用配置文件在单独的 JVM 进程中运行 R8,并设置 JVM 实参,例如堆大小上限。

声明执行配置文件

应用设置插件,然后将 android 代码块添加到 settings.gradle 文件中。在此块中,您可以定义不同的配置文件,然后设置默认配置文件,如以下示例所示:

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

替换默认配置文件

如需替换当前的默认执行配置文件,请将以下属性添加到 gradle.properties 文件。

android.settings.executionProfile=example-profile