如何在 Azure Pipelines 中自动增加 Xamarin Android 内部版本号和版本号?
Posted
技术标签:
【中文标题】如何在 Azure Pipelines 中自动增加 Xamarin Android 内部版本号和版本号?【英文标题】:How do I autoincrement Xamarin Android build and version numbers in Azure Pipelines? 【发布时间】:2021-09-18 18:44:40 【问题描述】:我看了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、路径 #jdkVersionOption: 'default' # 可选。选项:默认、1.11、1.10、1.9、1.8、1.7、1.6 #jdkDirectory: # 当 jdkOption == 路径时需要 #jdkArchitectureOption: 'x64' # 可选。选项:x86、x64
感觉好像我遗漏了一些东西,因为 Google Play 商店需要增加版本和构建,并且每个人都需要在每个版本上完成。
【问题讨论】:
【参考方案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>
【讨论】:
以上是关于如何在 Azure Pipelines 中自动增加 Xamarin Android 内部版本号和版本号?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Azure Pipelines YAML 构建定义中接收修订
如何在 Azure Pipelines Yaml 上循环多个 Azure 订阅?
我可以通过 CLI 验证 azure-pipelines.yml 文件吗?
如何在 Azure ADF Pipelines 中更改 ADF 接收器数据集 Parquet 文件数据类型
如何将一个参数文件用于使用一些不同参数的模板? (在 DevOps Pipelines 中使用 Powershell 部署 Azure LogicApp)