R8'in nasıl çalışacağını yapılandırma

Ayarlar eklentisi, R8 aracı için yürütme profilleri oluşturmanıza olanak tanır. Böylece R8'in nasıl çalışacağını yapılandırarak derlemenizi yavaşlatmasını önleyebilirsiniz. Ortama bağlı olarak, R8'i ayrı bir JVM işleminde çalıştırmak ve maksimum yığın boyutu gibi JVM bağımsız değişkenlerini ayarlamak için profilleri kullanabilirsiniz.

Yürütme profili bildirme

Ayarlar eklentisini uygulayın ve ardından android bloğunu settings.gradle dosyasına ekleyin. Bu blokta farklı profiller tanımlayabilir ve ardından aşağıdaki örnekte gösterildiği gibi bir varsayılan profil ayarlayabilirsiniz:

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

Varsayılan profili geçersiz kılma

Mevcut varsayılan yürütme profilini geçersiz kılmak için gradle.properties dosyasına aşağıdaki özelliği ekleyin.

android.settings.executionProfile=example-profile