建置適用於Android的React原生應用程式
重要
Visual Studio App Center 定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到它完全淘汰為止,但有數個建議您考慮移轉至的建議替代方案。
App Center 可以使用 React Native 0.34 版或更新版本來建置 React Native 應用程式。
若要開始建置您的第一個 React Native Android 應用程式,您必須:
- 聯機到您的存放庫服務帳戶(GitHub、Bitbucket、VSTS、Azure DevOps)。
- 選取應用程式所在的存放庫和分支。
- 選擇您要建置
package.json
的專案。 - 設定您的第一個組建。
注意
若要讓應用程式在實際裝置上執行,組建必須是使用有效憑證簽署的程序代碼。
1.連結您的存放庫
如果您先前尚未連線到存放庫服務帳戶,您必須先執行此動作。 一旦您的帳戶連線,請選取 React Native 專案所在的存放庫。 您必須擁有管理員和提取許可權,才能設定存放庫的組建。
2.選取分支
選取存放庫之後,請選取您要建置的分支。 根據預設,App Center 會列出所有使用中的分支。
3.設定您的第一個組建
第一個建置之前,您必須設定 React Native 專案。
3.1. Project
選取項目的 package.json
。 App Center 會自動從其相關聯的 build.gradle (應用程式層級) 檔案擷取資訊,包括相依性、建置工具版本、組建類型和產品口味。
注意
為了獲得最佳效能,分析目前僅限於四個目錄層級,包括存放庫的根目錄。
3.2. 組建變體
可用的組建變體會從專案 build.gradle (應用程式層級) 檔案中指定的組建類型和產品類別填入。 選取應該建置的組建變體。
注意
App Center 組建支援尋找組建變體,做為組建類型的組合(偵錯、發行或自定義定義),以及一個選擇性的產品類別。 目前不支援偵測多個產品口味的組合。
3.3. Node.js 版本
選取要用於組建的Node.js版本 深入瞭解 如何選取Node.js版本
3.4. 建置觸發程式
根據預設,每當開發人員推送至已設定的分支時,就會觸發新的組建。 這稱為「持續整合」。 如果您想要手動觸發新的組建,您可以在組態窗格中變更此設定。
3.5. 建置 Android 應用程式套件組合 (.aab)
Android 應用程式套件組合是可上傳至 Play Store 的散發格式。 它用來為特定裝置產生優化的 APK。 您可以在官方 Android 檔中深入瞭解 Android 應用程式套件組合,這也可協助您瞭解是否要與一般套件組合一起建置套件組合.apk.
切換 Android 應用程式套件組合的選項,除了 之外,還要產生 .aab
.apk
。 build.gradle
如果 (應用程式層級) 檔案包含 android.bundle
區塊,則會自動開啟此選項。
3.6. 遞增版本號碼
啟用時,應用程式AndroidManifest.xml中的版本代碼會自動針對每個組建遞增。 變更會在實際建置期間發生,且不會認可至您的存放庫。
3.7. 在真實裝置上啟動您的成功建置
使用新產生的 APK 檔案來測試您的應用程式是否在實際裝置上啟動。 啟動測試會再增加大約 10 分鐘,以達到建置時間的總時間。 深入瞭解 如何設定啟動測試。
3.8. 程式碼簽署
如果啟用,成功的組建將會產生 .apk
檔案和額外的 .aab
檔案。 若要將組建發行至 Play 市集,必須使用儲存在金鑰存放區中的有效憑證進行簽署。 若要簽署從分支產生的組建,請在組態窗格中啟用程式代碼登入、將密鑰存放區上傳至存放庫,並在組態窗格中提供相關值。 您可以深入瞭解 Android 程式代碼簽署 App Center 的 Android 程式代碼簽署檔。 .aab
將會使用與 相同的認證來.apk
簽署 。
3.9. 散發組建
您可以將每個成功的組建從分支設定為散發至先前建立的通訊群組或存放區目的地。 您可以新增通訊群組,或 從散發服務內設定存放區連線 。 一律有一個名為「共同作業者」的預設通訊群組,其中包含可存取應用程式的所有使用者。
注意
如果發佈至Google Play市集,則偏好使用Android應用程式套件組合 (.aab
),並在啟用時發佈。 針對 App Center 通訊群組和 Intune 存放區目的地,即使.aab
也產生 ,也會使用一般 .apk
。
4.建置結果
建置觸發程式之後,組建會處於下列其中一種狀態:
- queued - 組建位於等候資源釋放的佇列中
- build - 組建正在執行預先定義的工作
- 成功 - 建置已完成且成功
- 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)
建置步驟特定的記錄檔(位於 build/
封存的目錄中)有助於針對建置失敗的步驟和原因進行疑難解答和瞭解。
4.2. 應用程式 (.apk)
檔案 .apk
是儲存Android應用程式的Android應用程式封裝檔案。 如果組建已正確簽署,則可以將應用程式安裝在實際裝置上,並部署至 Play Store。 如果尚未簽署組建,應用程式可以在模擬器上執行,或用於其他用途。
5.支援的版本和需求
建置 Android 應用程式的最低版本為 5.0(API 層級 21)。 Android 應用程式可能需要較低的 API 層級才能執行,但必須以至少 API 層級 21 為目標。
6.建置秘訣
6.1. Yarn
Yarn 套件管理員是較快速、更具決定性的npm
取代專案。 如果您的存放庫package.json
旁邊有檔案yarn.lock
,則 App Center 將會使用 Yarn,並在建置開始時執行yarn install
。 否則,它會執行 npm install
。
6.2. 自定義建置腳本
執行 App Center 的預設建置命令之前,有數個選項可執行腳本。
在項目的
package.json
檔案中建立 postinstall 腳本。 安裝相依性之後,此腳本會自動執行。"scripts": { ... "postinstall" : "npx jetify" // other examples: "node ./postinstall.js" or "./postinstall.sh" },
使用 App Center 的 自定義建置腳本功能撰寫殼層腳本 。
#!/usr/bin/env bash # Example: Authenticate with private NPM registry echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc # Example: Add your signing key file (from base64 encoded environment variable) base64 -d <<< "$ANDROID_JSON_KEY_FILE" > android/keystores/json_key_file.json
6.3. 建置多個 APK
針對 Android 上的 React Native,預設會停用通用 APK 產生。 如果您的應用程式組態設定為建置多個 APK,例如每個 CPU 架構或螢幕設定的不同 API,您也必須確定也會建置通用 APK。 App Center 的建置系統可與一個主要 APK 檔案搭配運作,並且會忽略特定 CPU/ABI 或螢幕密度特有的所有 APK。
若要深入瞭解 APK 分割以及如何建置通用 APK,請閱讀對應的 Android 開發人員指南。 因此,請確定 universalApk
已針對您的 React Native 組建組態將 設定為 true
。