如何操作APK变体版本代码

时间:2018-11-06 15:22:25

标签: android gradle android-gradle android-build-type

android apk的versionCode在defaultConfig中设置。我想为每种构建类型进行更改,但似乎只能通过调味来完成?有没有另一种方法可以覆盖versionCode,也许类似于outputFileName的更新方法?

3 个答案:

答案 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"
}