android apk的versionCode在defaultConfig中设置。我想为每种构建类型进行更改,但似乎只能通过调味来完成?有没有另一种方法可以覆盖versionCode,也许类似于outputFileName的更新方法?
答案 0 :(得分:1)
我认为您的情况与产品口味完全吻合。
您为产品设置了味道,为舞台设置了味道。在这两个版本中都将版本代码设置为您的表达式(例如,用于prod的300 + android.defaultConfig.versionCode和用于发布的200 + android.defaultConfig.versionCode)
有关详细示例,请参阅文档: https://developer.android.com/studio/build/build-variants
然后,当您要运行或部署版本时,请在Build Variants中的4种组合之间进行选择,这些组合将是: prodRelease , prodDebug , stageRelease < / em>和 stageDebug
答案 1 :(得分:0)
您可以为每个拥有的buildType创建不同的AndroidManifest.xml,然后在清单中设置versionCode,但以我个人的观点,您应该使用风味。
答案 2 :(得分:0)
在您的项目根目录build.gradle中,您可以定义版本代码和版本名称,例如
def code = project.hasProperty('versionCode') ? versionCode.toInteger() :
(System.getenv("VERSION_CODE") as Integer ?: <default-version-code>)
def name = project.hasProperty('versionName') ? versionName.toString() :
(System.getenv("VERSION_NAME") as String ?: "<default-version-name>")
您可以在build命令中提供类似这样的版本代码和名称运行时 -P =值
allprojects {
ext.baseVersionCode = code
ext.baseVersionName = name
}
您可以在所有模块中访问这些版本代码。在应用程序build.gradle
中defaultConfig {
versionCode baseVersionCode
versionName baseVersionName
archivesBaseName = "customzied_apk_name"
}