flavorDimensions "app"
productFlavors {
dev {
resValue "string", "base_url", "http://mydevurl/"
dimension "app"
}
prod {
resValue "string", "base_url", "http://myprodurl/"
dimension "app"
}
}
applicationVariants.all { variant ->
def flavor = variant.mergedFlavor
def versionName
if (variant.buildType.isDebuggable()) {
versionName = "debug_0.1.1"
}else{
versionName = "0.1.1"
}
flavor.versionName = versionName
flavor.versionCode = 50
}
以上gradle设置工作正常,直到Gradle 3.0更新。无法在推荐的网站上找到任何相关内容。如何根据此新flavorDimension
更改管理此动态版本控制?
答案 0 :(得分:11)
您可以使用VariantOutput.setVersionCodeOverride()和VariantOutput.setVersionNameOverride()以3.0 Android gradle插件动态设置versionCode和versionName。
对于您的项目,这看起来像:
applicationVariants.all { variant ->
def flavor = variant.mergedFlavor
def versionName
if (variant.buildType.isDebuggable()) {
versionName = "debug_0.1.1"
}else{
versionName = "0.1.1"
}
flavor.versionName = versionName
flavor.versionCode = 50
variant.outputs.all { output ->
output.setVersionNameOverride(versionName)
output.setVersionCodeOverride(50)
}
}