首页 > 解决方案 > 如何在 Azure Pipelines 中自动增加 Xamarin Android 内部版本号和版本号?

问题描述

看了官方文档,没找到太多,

Xamarin.Android
使用 Xamarin 任务构建 Android 应用程序
:XamarinAndroid@1 输入:
#projectFile: '**/*.csproj'
#target: # Optional
#outputDirectory: # Optional
#configuration: # Optional
#createAppPackage: true # Optional
#clean : false # 可选
#msbuildLocationOption: 'version' # 可选。选项:版本、位置
#msbuildVersionOption: '15.0' # 可选。选项:最新、
16.0、15.0、14.0、12.0、4.0 #msbuildFile: # 当 msbuildLocationOption == 位置时需要
#msbuildArchitectureOption: 'x86' # 可选。选项:x86、x64
#msbuildArguments:# 可选
#jdkOption:'JDKVersion' # 选项:jDKVersion、路径
#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 内部版本号和版本号?

标签: azure-devopsxamarin.androidyamlazure-pipelinesversion

解决方案


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

<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>

您可以使用令牌替换扩展,如下所示:

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>

推荐阅读