建置適用於Android的 Xamarin 應用程式

重要

Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。

深入瞭解支持時程表和替代方案。

若要開始建置您的第一個 Xamarin Android 應用程式,您必須:

  1. (GitHub、Bitbucket、VSTS、Azure DevOps) 連線到您的存放庫服務帳戶。
  2. 選取您應用程式所在的存放庫和分支。
  3. 選擇您要建置的 Android 專案。
  4. 設定您的第一個組建。

注意

若要讓應用程式在實際裝置上執行,您必須使用有效的 KeyStore 簽署組建。

1.連結您的存放庫

如果您先前尚未連線到存放庫服務帳戶,您必須先執行此動作。 一旦您的帳戶連線,請選取 Xamarin 專案所在的存放庫。 您必須具有管理員和提取許可權,才能設定存放庫的組建。

2.選取分支

選取存放庫之後,請選取您要建置的分支。 根據預設,App Center 會列出所有作用中的分支。

3.設定組建

第一次建置之前,必須先設定 Xamarin 專案。

3.1. 建置觸發程式

根據預設,建置服務會使用持續整合,因此每當開發人員推送至已設定的分支時,就會觸發新的組建。 如果您想要手動觸發新的組建,您可以在組態窗格中變更此設定。

3.2. 專案和組態

如果您的存放庫中可用的項目位於分析範圍內,則會填入這些專案。 為您的 Android 組建選取正確的項目,然後選取適當的組態。

注意

為了獲得最佳效能,分析目前僅限於四個目錄層級,包括存放庫的根目錄。

3.3. Mono 版本

App Center 可讓您針對組建使用與個別 Xamarin.Android SDK 組合的不同 Mono 環境。 如此一來,我們會維持回溯相容性,同時支援最新的功能。 新分支組態的預設Mono版本是最新的穩定版本。 您可以選擇使用其中一個先前的 Mono 環境來建置舊版的架構或連結庫。

在組建組態中選取Mono版本時,其旁邊會顯示配套的 Xamarin.Android SDK 版本。 如需 Xamarin SDK 版本更新的詳細資訊,請閱讀 Xamarin 版本部落格

3.3.1. .NET Core 版本

系統會根據用於建置的Mono版本自動選取適當的 .NET Core 版本,且無法覆寫。 您可以在下表中檢視 Mono 與我們的服務所使用的 .NET Core 對應:

Mono .NET Core
<= 5.18 2.2.105
6.0 2.2.300
6.4 3.0.100
6.6 3.1.100
6.8 3.1.200
6.10 3.1.300
6.12 3.1.401

3.4. 建置 Android 應用程式套件組合 (.aab)

Android 應用程式套件組合是一種散發格式,可用來針對特定裝置產生優化的 APK。 它可以上傳至 Play Store。 您可以在 官方 Android 檔中深入瞭解 Android 應用程式套件組合,以及 Xamarin.Android 9.4 版本資訊,這也有助於您決定是否要與一般套件組合一起建置套件組合 .apk.

切換 Android 應用程式套件組合的選項,以產生 .aab.apk.csproj如果 檔案包含在 aab 屬性中AndroidPackageFormat,則會自動開啟此選項。 .aab Xamarin.Android 9.4 和更新版本支援建置 。

3.5. 遞增版本號碼

啟用時,應用程式 AndroidManifest.xml 中的版本代碼會自動針對每個組建遞增。 變更會在建置前進行,且不會認可至您的存放庫。

3.6. 程式碼簽署

成功的建置會在啟用時產生 .apk 檔案和其他 .aab 檔案。 若要將組建發行至 Play 市集,必須使用有效的 Keystore 和 Alias 簽署。 若要簽署從分支產生的組建,請在組態窗格中啟用程式代碼簽署、上傳您的 Keystore,並在組態窗格中提供所需的值。 您可以閱讀 更詳細的程式代碼簽署指示.aab將會使用與.apk相同的認證簽署 。

3.7. 在真實裝置上啟動您的成功建置

使用您新產生的 .apk 檔案來測試您的應用程式是否在實際裝置上啟動。 這會將大約10分鐘新增至總建置時間。 我們的 測試整合指南中有詳細資訊。

3.8. NuGet 還原

如果檔案 NuGet.config 簽入存放庫,並位於檔案或存放庫的根層級, .sln App Center 會在新增私人 NuGet 摘要時還原,如下列範例所示。 您可以使用 環境變數安全地新增認證:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
    <add key="MyGet" value="https://www.myget.org/F/MyUsername/api/v2/index.json" />
    <add key="MyAuthNuget" value="https://nuget.example.com/v2/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <MyAuthNuget>
      <add key="Username" value="$USER_VARIABLE" />
      <add key="ClearTextPassword" value="$PASSWORD_VARIABLE" />
    </MyAuthNuget>
  </packageSourceCredentials>
</configuration>

如果您有複雜的設定,而且需要詳細資訊,請參閱 設定 NuGet 行為

3.9. 散發組建

您可以將每個成功的組建從分支設定為發佈至先前建立的通訊群組或存放區目的地。 您可以新增通訊群組,或從散發服務內 設定存放區連線 。 一律有一個名為「共同作業者」的預設通訊群組,其中包含可存取應用程式的所有使用者。

注意

如果散發至Google Play商店,則偏好使用Android應用程式套件組合 (.aab) ,且會在啟用時散發。 針對 App Center 通訊群組和 Intune 存放區目的地,即使.aab也產生 ,也會使用一般.apk

4.建置結果

建置觸發程式之後,組建會處於下列其中一種狀態:

  • queued - 組建位於等候資源釋放的佇列中。
  • building - 組建正在執行。
  • succeeded - 建置已順利完成。
  • failed - 組建因失敗而停止。 您可以下載並檢查組建記錄檔,以針對發生錯誤的問題進行疑難解答。
  • 已取消 - 組建已由用戶動作取消,或逾時。

4.1. 組建記錄

如需完成的建置 (成功或失敗) ,請下載記錄以深入瞭解組建的運作方式。 App Center 提供具有下列檔案的封存:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

建置步驟記錄 (位於 build/ 封存) 的目錄中,有助於瞭解哪個步驟和建置失敗的原因。

4.2. 應用程式 (.apk)

檔案 .apk 是儲存Android應用程式的Android應用程式封裝檔案。 如果組建已正確簽署, .apk 則可以將檔案安裝在實際裝置上,並部署至 Play Store。 如果尚未簽署組建,應用程式可以在模擬器上執行,或用於其他用途。

支援的版本和需求

App Center 支援可攜式類別庫 (PCL) 和 .NET Standard 專案。 如需 .NET Standard 版本,請參閱 雲端組建機器

App Center 不支援來自 Xamarin 元件存放區的元件,我們建議在可用時使用 NuGet 套件。 如果您使用無法取代的元件,請與我們連絡。 請參閱 說明與意見反應