【问题标题】:Android - change app version name based on flavorAndroid - 根据风味更改应用版本名称
【发布时间】:2014-05-06 18:36:46
【问题描述】:

我想将应用程序 versionName 更改为 AndroidManifest 文件中为我正在构建的特定风格定义的任何内容。

因此,如果我只构建我拥有的 4 种定义的风味中的一种,例如:
gradle assembleFlavor1Debug

我希望Flavor1 具有与其特定清单定义的版本名称相同的版本名称(因为清单文件的合并),但这并没有发生。

在构建期间,我如何知道正在构建哪种特定风格?
因为如果我知道正在运行什么口味,
我可以从清单中提取相应的versionName 并将其设置为android.defaultConfig.versionName
这解决了我的问题。

【问题讨论】:

  • 这个问题的上一个答案:stackoverflow.com/questions/19726119/…
  • @Turnsole 你提到的问题很清楚:'根据构建类型更改风味版本名称'。我不想根据“构建类型”更改 versionName,而是根据我正在构建的特定风格。
  • 我遇到了同样的问题。检查这个answer

标签: android gradle android-productflavors


【解决方案1】:

至少从 Android Studio 3.1.1 开始,您可以执行此操作...

defaultConfig {
    versionName "1.0.0"
}
flavorDimensions "dimen1", "dimen2"
productFlavors {
    'flavor1' {
        dimension "dimen1"
        versionNameSuffix "-F1"
    }

    ...

    'flavorA' {
        dimension "dimen2"
        versionNameSuffix "-FA"
    }
}

那么对于变体 flavor1FlavorAversionName 将是 1.0.0-F1-FA

https://developer.android.com/studio/build/build-variants#product-flavors

【讨论】:

    【解决方案2】:

    你可以这样做

    productFlavors
    {
    test
    {
     applicationId 'com.example.test'
     versionName '1.0.0.test'
     versionCode 1
    }
    
    product
    {
     applicationId 'com.example.product'
     versionName '1.0.0.product'
     versionCode 1
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 2021-05-12
      • 2016-03-05
      • 1970-01-01
      相关资源
      最近更新 更多