Я пытаюсь определить buildConfigVariable в зависимости от стиля + buildType. В идеале, это то, что я хочу
productFlavors {
    strawberry {
        buildConfigField "String", "WS_API_KEY", name + variant.buildType.name
    }
    ... more flavors ..
}
name содержит "клубнику", но я не знаю, можно ли получить доступ к варианту buildType.
Размещенный вне закрытия Android у меня есть доступ к BuildType и варианту, но тогда я не могу вызывать buildConfigField
android.applicationVariants.all { variant ->
    println "****************************"
    println "variant: ${variant.name}"
    println "flavor: ${variant.flavorName}"
    println "****************************"
    if (variant.buildType.name == 'release') {
        if (variant.flavorName == 'strawberry') {
            buildConfigField "String", "WS_API_KEY", '"strawberry_release"'
        } else {
            buildConfigField "String", "WS_API_KEY", '"chocolate_release"'
        }
    } else if(variant.buildType.name == 'debug') {
        if (variant.flavorName == 'strawberry') {
            buildConfigField "String", "WS_API_KEY", '"strawberry_debug"'
        } else {
            buildConfigField "String", "WS_API_KEY", '"chocolate_debug"'
        }
    }
****************************
variant: strawberryRelease
flavor: strawberry
****************************
org.gradle.api.internal.MissingMethodException: 
    Could not find method buildConfigField() 
    for arguments [String, WS_API_KEY, "strawberry_release"]
Я могу легко создать Java factory и вернуть соответствующий API_KEY в зависимости от некоторых констант BuildConfig, но я бы предпочел сохранить агностик конфигурации кода.