有没有办法在我的代码中使用build.gradle中的变量,这取决于flavor AND buildType?
在此示例中:Is it possible to declare a variable in Gradle usable in Java?新资源值仅取决于其是否为调试或发布版本类型。
我想拥有的是每个可能的buildVariant的一个变量。
如下所示:
flavor1Debug => resValue "string", "app_name", "App 1 Debug"
flavor1Release => resValue "string", "app_name", "App 1"
flavor2Debug => resValue "string", "app_name", "App 2 Debug"
flavor2Release => resValue "string", "app_name", "App 2"
有没有一种很好的方法可以通过build.gradle或其他不包含开关或if语句的方式来实现这一点?
答案 0 :(得分:6)
在你的应用的build.gradle中,你可以实现的一个方法是:
buildTypes {
debug {
productFlavors.flavor1.buildConfigField "String", "app_name", "\"App 1 Debug\""
productFlavors.flavor2.buildConfigField "String", "app_name", "\"App 2 Debug\""
}
release {
productFlavors.flavor1.buildConfigField "String", "app_name", "\"App 1\""
productFlavors.flavor2.buildConfigField "String", "app_name", "\"App 2\""
}
}
请注意,您需要在buildTypes之前定义productFlavors {}块。