如何在 Azure Pipelines 中自动递增 Xamarin Android 内部版本号和版本号?

时间:2021-07-08 09:47:48

标签: azure-devops xamarin.android yaml azure-pipelines version

我查看了 official documentation 并没有找到太多内容,

<块引用>

Xamarin.Android
使用 Xamarin 构建 Android 应用
任务:XamarinAndroid@1 输入:
#projectFile: '**/*.csproj'
#target: # 可选
#outputDirectory: # 可选
#configuration: # 可选
#createAppPackage: true # 可选
#clean: false # 可选
#msbuildLocationOption: 'version' # 可选。选项:版本、位置
#msbuildVersionOption: '15.0' # 可选。选项:最新、16.0、15.0、14.0、12.0、4.0
#msbuildFile: # 当 msbuildLocationOption == Location
时需要 #msbuildArchitectureOption: 'x86' # 可选。选项:x86、x64
#msbuildArguments: # 可选
#jdkOption: 'JDKVersion' # 选项:jDKVersion, path
#jdkVersionOption: 'default' # 可选。选项:默认、1.11、1.10、1.9、1.8、1.7、1.6
#jdkDirectory: # 当 jdkOption == Path
时需要 #jdkArchitectureOption: 'x64' # 可选。选项:x86、x64

感觉好像我遗漏了一些东西,因为 Google Play 商店需要增加版本和构建,并且每个人都需要在每次发布时完成。

如何在 Azure Pipelines 中自动递增 Xamarin Android 内部版本号和版本号?

1 个答案:

答案 0 :(得分:1)

您必须在清单文件中进行设置:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="string"
          android:sharedUserId="string"
          android:sharedUserLabel="string resource" 
          android:versionCode="integer"
          android:versionName="string"
          android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
    . . .
</manifest>

您可以按如下方式使用 token replace extension

variables:
  major: 1
  number: $[counter(variables['major'], 100)]

steps:
- bash: echo $(minor)
- task: qetza.replacetokens.replacetokens-task.replacetokens@3
  displayName: 'Replace tokens'
  inputs:
    targetFiles: |
      **/AndroidManifest.xml 

像这样的文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="string"
          android:sharedUserId="string"
          android:sharedUserLabel="string resource" 
          android:versionCode="#{number}#"
          android:versionName="string"
          android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
    . . .
</manifest>