要求非常简单。但我没有找到任何办法。 我有一个两种风格的应用程序:原始和黑色。
SqlDataReader
每种风味都有两种构建类型:调试和发布
我正在为不同的构建类型生成运行时gradle常量“APP_INFO”。
productFlavors {
original {
}
black {
applicationIdSuffix ".black"
versionNameSuffix "-black"
}
}
我现在为BuildConfig.APPINFO获取的内容
flavor:original,buildType:debug。 APPINFO“DEBUG”
flavor:original,buildType:release。 APPINFO“发布”
flavor:black,buildType:debug。 APPINFO“DEBUG”
flavor:black,buildType:release。 APPINFO“发布”
对于给定的flavor和BuildTypes,我需要APPINFO的值:
flavor:original,buildType:debug。 APPINFO应该是“DEBUG_ORIGINAL”
flavor:original,buildType:release。 APPINFO应该是“RELEASE_ORIGINAL”
flavor:black,buildType:debug。 APPINFO应该是“DEBUG_BLACK”
flavor:black,buildType:release。 APPINFO应该是“RELEASE_BLACK”
我的Gradle文件如下:
buildTypes {
debug {
buildConfigField "String", "APPINFO", "DEBUG"
signingConfig signingConfigs.debug
}
release {
buildConfigField "String", "APPINFO", "RELEASE"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
提前致谢。
答案 0 :(得分:0)
您可以使用返回布尔值的BuildConfig.DEBUG
来检查构建是否为调试或发布,并检查构建风格,只需检查BuildConfig.FLAVOR
例如: 对于原始风味和调试构建集APPINFO为
if(BuildConfig.DEBUG && BuildConfig.FLAVOR.equalsIgnoreCase("original")) {
APPINFO = "DEBUG_ORIGINAL"
} else {
// other cases
}
答案 1 :(得分:0)
然后你也可以尝试下面的代码。这对你有用:
debug {
productFlavors {
original {
buildConfigField "String", "APPINFO", "DEBUG_ORIGINAL"
}
black {
buildConfigField "String", "APPINFO", "DEBUG_BLACK"
}
}
}
release {
//// similarly for release here
}
答案 2 :(得分:0)
尝试将以下代码替换为构建类型部分:
{{1}}