gradle-为不同的生成类型设置不同的versionName
我想使用不同的gradle-为不同的生成类型设置不同的versionName,gradle,android-gradle-plugin,Gradle,Android Gradle Plugin,我想使用不同的versionCode和versionName进行调试和发布构建,但我不确定如何实现这一点。我不想只添加后缀,我想在两种构建类型之间生成完全不同的版本代码。具体来说,对于调试版本和发布版本,最好将versionCode分别设置为getDebugVersionCode()和getReleaseVersionCode()。我该怎么做?谢谢。您可以尝试使用来自的解决方案 根据它,可以像这样更改versionName和versionCode: android { application
versionCode
和versionName
进行调试和发布构建,但我不确定如何实现这一点。我不想只添加后缀,我想在两种构建类型之间生成完全不同的版本代码。具体来说,对于调试版本和发布版本,最好将versionCode分别设置为getDebugVersionCode()
和getReleaseVersionCode()
。我该怎么做?谢谢。您可以尝试使用来自的解决方案
根据它,可以像这样更改versionName
和versionCode
:
android {
applicationVariants.all { variant ->
def flavor = variant.mergedFlavor
if (variant.buildType.isDebuggable()) {
//set properties for debug
flavor.versionName = 'version-name-for-debug`;
flavor.versionCode = 6;
} else {
//set properties for release
flavor.versionName = 'version-name-for-relese`;
flavor.versionCode = 8;
}
}
}
我认为你正在寻找的解决方案是 另外,下面是我的gradle文件中的实现:
android {
applicationVariants.all { variant ->
if (variant.buildType.isDebuggable()) {
//set properties for debug
variant.outputs.each { output ->
output.versionNameOverride = "DEBUG-VERSION";
output.versionCodeOverride = 1
}
}
}
}
在SO上发布另一个(相关)答案的链接是一个好的评论。抄袭另一个答案(本质上,就是你在这里所做的事情)永远都不好@实际上,我发布的代码片段与链接中的解决方案不同。这是我自己在我的一个项目中实现的问题。我发布了这个链接,以便OP可以看到相同问题的其他解决方案。