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

重要

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

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

若要建置您的第一個 Android 應用程式,請遵循下列步驟:

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

注意

若要讓應用程式在實際裝置上執行,組建必須是使用有效憑證簽署的程序代碼。

注意

App Center 會搜尋 Android 專案的 gradle (和 grad) 目錄檔案來追蹤專案。 請勿將這些檔案包含在專案 .gitignore 中,因為 App Center Build 將無法找到這些檔案。

警告

由於 JCenter 最近關閉,某些應用程式可能會在使用 App Center 建置時遇到 Gradle 工作失敗。 請檢視 Gradle 所提供的移轉指南。 因應措施是,所有實例 jcenter() 都可以從 build.gradle 檔案中移除,並以 取代 jcenter { url "http://jcenter.bintray.com/"}在這裡深入瞭解 JCenter Shutdown。

1.連結您的存放庫

如果您尚未連線到您的存放庫服務帳戶,您必須連線。 一旦您的帳戶連線,請選取 Android 專案所在的存放庫。 若要設定存放庫的組建,您需要管理員和提取許可權。

2.選取分支

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

3.設定您的第一個組建

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

3.1. 建置觸發程式

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

3.2. 建置變體

可用的組建變體會從 build.gradle (應用程式層級) 檔案中指定的組建類型和產品類別填入。 選取應該建置的組建變體。

注意

App Center 組建支援尋找組建變體,作為組建類型 (偵錯、發行或自定義定義) 和其中一個已宣告產品類別的組建類型群組。 目前不支援偵測多個產品類別) 的類別維度 (組合。

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

Android 應用程式套件組合是一種散發格式,會上傳至 Play Store,並用來針對特定裝置產生優化的 APK。 您可以在 官方 Android 檔中深入瞭解 Android 應用程式套件組合。

切換 Android 應用程式套件組合的選項,除了 之外.apk,還會產生 .aabbuild.gradle如果 (應用程式層級) 檔案包含 android.bundle 區塊,此選項就會開啟。

3.4. 遞增版本號碼

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

3.5. 程式碼簽署

成功的建置會在啟用時產生 .apk 檔案和其他 .aab 檔案。 若要將組建發行至 Play 市集,它必須使用儲存在密鑰存放區中的有效證書進行簽署。 若要簽署從分支產生的組建,請在組態窗格中啟用程式代碼簽署、將密鑰存放區上傳至存放庫,並在組態窗格中提供相關認證。 您可以在 App Center 的 Android 程式代碼簽署檔中深入瞭解程式代碼簽署.aab將會使用與.apk相同的認證簽署 。

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

使用您新產生的 APK 檔案來測試您的應用程式是否在實際裝置上啟動。 這會將大約10分鐘新增至總建置時間。 深入瞭解 如何設定啟動測試

3.7. 從 build.gradle (應用程式層級設定) 檔案

組建的特定資訊將會從您的 Gradle 檔案收集,包括相依性、組建工具版本、組建類型和產品類別。

3.8. 散發組建

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

注意

如果散發至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)

建置步驟特定記錄 (位於封存) 的組建/ 目錄中,有助於疑難解答及瞭解建置失敗的步驟和原因。

4.2. 應用程式套件 (APK)

APK 是包含 Android 應用程式和資產的套件。 如果組建已正確簽署,APK 可以安裝在實際裝置上,並部署至 Play Store。 如果組建尚未簽署,APK 可以在模擬器上執行,或用於其他用途。

4.3. 建置多個 APK

如果您的應用程式組態建置多個 APK,您也必須建置通用 APK。 我們的組建系統會與一個主要 APK 檔案搭配運作,並忽略特定 CPU ABI 或螢幕密度專屬的所有 APK。 若要深入瞭解 APK 分割和建置通用 APK,請閱讀 ABI 分割指南

4.4. deobfuscation-mapping 檔案 (mapping.txt)

檔案 mapping.txt 包含如何將應用程式模糊堆疊追蹤對應回原始類別和方法名稱的資訊。

  • 如果您先前已將App Center SDK與已啟用損毀報告模組整合,並使用 Proguard 或 R8 來縮小和模糊化應用程式二進位檔,當機報告服務需要此 mapping.txt 檔案,組建才能顯示 人類可讀取的 () 損毀報告
  • 如果您先前已將另一個 SDK 整合為損毀報告用途, (例如 HockeyApp SDK) ,則對應的服務會要求 mapping.txt 檔案顯示可讀取的損毀報告。

5.支援的版本和需求

建置 Android 應用程式的最低版本為 7.0 (API 層級 24) 。 Android 應用程式可以執行所需的最低 API 層級,但必須以至少 API 層級 24 為目標。

應用程式必須使用 Gradle 和 Android Gradle 外掛程式來建置,才能正確設定。 您的存放庫必須包含 Gradle 包裝函式。

另請參閱: 雲端組建機器資訊