Xamarin. Android 工作

Azure Pipelines |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018-TFS 2015

使用此工作以 Xamarin 建立 Android 應用程式。

要求

AndroidSDK、MSBuild、Xamarin. Android

YAML 程式碼片段

# Xamarin.Android
# Build an Android app with Xamarin
- task: XamarinAndroid@1
  inputs:
    #projectFile: '**/*.csproj' 
    #target: # Optional
    #outputDirectory: # Optional
    #configuration: # Optional
    #createAppPackage: true # Optional
    #clean: false # Optional
    #msbuildLocationOption: 'version' # Optional. Options: version, location
    #msbuildVersionOption: '15.0' # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0
    #msbuildFile: # Required when msbuildLocationOption == Location
    #msbuildArchitectureOption: 'x86' # Optional. Options: x86, x64
    #msbuildArguments: # Optional
    #jdkOption: 'JDKVersion' # Options: jDKVersion, path
    #jdkVersionOption: 'default' # Optional. Options: default, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6
    #jdkDirectory: # Required when jdkOption == Path
    #jdkArchitectureOption: 'x64' # Optional. Options: x86, x64

引數

引數 描述
project
Project
(需要從 (Xamarin 的存放庫根目錄) 相對路徑() 建立)。 您可以使用萬用字元來取得 詳細資訊
例如, **/*.csproj 適用于所有子資料夾中的所有 .csproj 檔案。 如果選取了,專案就必須有 PackageForAndroid 目標 Create App Package
預設值: * */* .csproj
引數別名: projectFile
target
目標
(選擇性) 在此專案中建立這些目標。 使用分號來分隔多個目標。
outputDir
輸出目錄
(選擇性)提供組建的輸出目錄。
範例: $ (build. build.binariesdirectory) /bin/Release
引數別名: outputDirectory
configuration
組態

(選擇性) 指定您要建立的設定,例如 debugrelease

秘訣:在 [變數] 索引標籤上宣告組建變數, BuildConfiguration (選取 [允許在佇列時間) ],然後在這裡將其參考為 $(BuildConfiguration) 。 如此一來,當您將組建排在佇列並啟用建立多個設定時,就可以修改平臺。

createAppPackage
建立應用程式套件
(選擇性) 在組建期間傳遞目標 (/t: PackageForAndroid) 以產生 APK。
預設值: true
clean
Clean
(選擇性) 在組建期間傳遞清除目標 (/t: clean)
預設值: false

MSBuild 選項

引數 描述
msbuildLocationMethod
MSBuild
(macOS Windows 上) (或 xbuild) 上 MSBuild (的選擇性) 路徑。 預設行為是搜尋最新版本。
預設值:版本
引數別名: msbuildLocationOption
msbuildVersion
MSBuild 版本
(選擇性) 如果找不到慣用的版本,則會改用找到的最新版本。 在 macOS 上,將會使用 xbuild (Mono) 或 MSBuild (Visual Studio for Mac) 。
預設值:15。0
引數別名: msbuildVersionOption
msbuildLocation
MSBuild 位置
(必要) 選擇性地提供 Windows) 上 MSBuild (的路徑,或 macOS 上的 xbuild ()
預設值:版本
引數別名: msbuildFile
msbuildArchitecture
MSBuild 架構
選擇性地提供架構 (x86、x64) 的 MSBuild 執行
預設值: x86
引數別名: msbuildArchitectureOption
msbuildArguments
其他引數
(選擇性) 在 macOS Windows 上傳遞至 MSBuild () (或 xbuild) 上的其他引數。

JDK 選項

引數 描述
jdkSelection
選取要用於組建的 JDK
(必要) 選取要在組建期間使用的 JDK,方法是選取將在組建期間探索到的 JDK 版本,或手動輸入 JDK 路徑。
  • JDK 版本:選取您想要使用的 JDK 版本。
  • JDK 路徑:指定要使用的 JDK 路徑。

預設值: JDKVersion
引數別名: jdkOption
jdkVersion
JDK 版本
(選擇性) 在組建期間使用選取的 JDK 版本。
預設值:預設值
引數別名: jdkVersionOption
jdkUserInputPath
JDK 路徑
(必要) 在組建期間使用選取的 JDK 版本。
預設值:預設值
引數別名: jdkDirectory
jdkArchitecture
JDK 架構
選擇性地提供 (x86、x64) JDK 的架構
預設值: x64
引數別名: jdkArchitectureOption

工作控制選項

範例

打造您的 Xamarin 應用程式

開放原始碼

此工作是GitHub 上的開放原始碼。 歡迎您提供意見反應和投稿。

常見問題集

是否需要代理程式?

您至少需要一個 代理程式 來執行您的組建或發行。

我遇到問題。 如何進行疑難排解?

請參閱 疑難排解組建和發行

我無法選取預設的代理程式組件區,也無法將組建或發行排在佇列中。 我要如何修正此問題?

請參閱 代理程式集區。

我的 NuGet 推送工作失敗,發生下列錯誤:「錯誤:無法取得本機簽發者憑證」。 我該怎麼辦?

您可以藉由新增受信任的根憑證來修正此問題。 您可以將 NODE_EXTRA_CA_CERTS=file 環境變數新增至組建代理程式,也可以 NODE.EXTRA.CA.CERTS=file 在管線中新增工作變數。 如需此變數的詳細資訊,請參閱 Node.js 檔 。 如需在管線中設定變數的指示,請參閱在 管線中設定變數

我使用 TFS 內部部署,而且沒有看到其中一些功能。 為什麼不用?

其中有些功能僅適用于Azure Pipelines ,但尚未在內部部署使用。 如果您已 升級至最新版本的 TFS,某些功能可在內部部署使用。