建置適用於Android的Java應用程式
重要
Visual Studio App Center 定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到它完全淘汰為止,但有數個建議您考慮移轉至的建議替代方案。
若要建置您的第一個 Android 應用程式,請遵循下列步驟:
- 聯機到您的存放庫服務帳戶(GitHub、Bitbucket、VSTS、Azure DevOps)。
- 選取應用程式所在的存放庫和分支。
- 選擇您要建置的 Android 專案。
- 設定您的第一個組建。
注意
若要讓應用程式在實際裝置上執行,組建必須以有效的憑證簽署程序代碼。
注意
App Center 會搜尋 Android 專案的 gradle (和 gradlew) 目錄檔案,以追蹤專案。 請勿將這些檔案包含在專案 .gitignore 中,因為 App Center 組建將無法找到它們。
警告
由於 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 組建支援尋找組建變體,做為組建類型的組合(偵錯、發行或自定義定義),以及其中一個 gradle 宣告的產品口味。 目前不支援「類別維度」偵測(多個產品口味的組合)。
3.3. 建置 Android 應用程式套件組合 (.aab)
Android 應用程式套件組合是一種散發格式,會上傳至 Play Store,並用來為特定裝置產生優化的 APK。 您可以在官方 Android 檔中深入瞭解 Android 應用程式套件組合。
切換 Android 應用程式套件組合的選項,除了 之外,還要產生 .aab
.apk
。 build.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 - 建置已完成,但失敗。 您可以下載並檢查組建記錄檔以進行疑難解答。
- canceled - 組建已由用戶動作取消,或逾時。
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 包裝函式。
另請參閱: 雲端建置計算機資訊