我如何使用Azure Pipelines自动增加Android应用的内部版本ID和版本号

问题描述 投票:0回答:1

这是我的build.gradle

defaultConfig {
        applicationId "com.xyz.abc.na"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 36
        versionName "5.0.2"
        multiDexEnabled true
    }

在我的YML中,我有

 - task: android-manifest-version@1
  displayName: 'Version Update'
  inputs:
  sourcePath: '$(manifestDirectory)'
  versionCodeOption: 'buildid'
  versionCode: '$(Build.BuildId)'
  versionCodeOffset: '1'
  printFile: true

  - task: Gradle@2
    displayName: 'Building Gradle'
    inputs:
      workingDirectory: ''
      gradleWrapperFile: 'gradlew'
      gradleOptions: '-Xmx3072m'
      publishJUnitResults: false
      testResultsFiles: '**/TEST-*.xml'
      tasks: $(gradleTask)
      codeCoverageToolOption: 'None'
      javaHomeOption: 'JDKVersion'
      jdkVersionOption: 'default'
      jdkArchitectureOption: 'x64'
      checkStyleRunAnalysis: false
      findBugsRunAnalysis: false

除非我在build.gradle中手动更改versionCodeversionName,否则这些值永远不会自动更新。

如何获得最新值,增加1并更新build.gradle,然后根据新的版本代码和版本名称生成一个版本?

下面是对我不起作用的现有参考。

Ref1

Ref2

Ref3

android azure-devops continuous-integration azure-pipelines continuous-delivery
1个回答
0
投票

您可以检查扩展名Mobile Versioning,它提供了更新Android Version Gradle的任务:

- task: UpdateAndroidVersionGradle@1
  inputs:
    buildGradlePath: 'your_project/app/build.gradle'
    versionName: '$(MAJOR).$(MINOR).$(PATCH)' # Optional. Default is: $(MAJOR).$(MINOR).$(PATCH)
    versionCode: '$(NUMBER_OF_COMMITS)' # Optional. Default is: $(NUMBER_OF_COMMITS)

详细的文档,您可以检查以下链接:

https://damienaicheh.github.io/azure/devops/2019/12/19/manage-your-application-version-automatically-using-git-and-azure-devops-en

© www.soinside.com 2019 - 2024. All rights reserved.