Gradle buildConfigField 布尔值的默认值跨口味使用

Default value for Gradle buildConfigField boolean used across flavors

我的应用程序中有多种风格,我想为其中的一个子集设置一个布尔值 buildConfigField。有没有办法避免必须将字段添加到每种口味?理想情况下,我的 build.gradle 应如下所示:

productFlavors {
    flavor1 {
    }

    ....

    flavor4 {
        buildConfigField "boolean", "DISABLE_SOMETHING", "true"
    }

    flavor5 {
        buildConfigField "boolean", "DISABLE_SOMETHING", "true"
    }

    ....

    flavor8 {
    }
}

所以在我的应用程序中我可以直接去

if (BuildConfig.DISABLE_SOMETHING) {
    //disable stuff
}

但是,当我尝试使用 flavor1 等构建时,编译失败,因为它找不到该字段。我不想记住将它添加到我创造的每一种新口味中。有什么解决办法吗?

您可以为此使用 defaultConfig(在 android{} 内)

defaultConfig {
  buildConfigField "boolean", "DISABLE_SOMETHING", "true"
}