「Android App Bundle」是一種發布格式,其中包含所有編譯過的程式碼和資源,可將產生及簽署 APK 的作業交由 Google Play 處理。
Google Play 會透過您的應用程式套件為各種裝置設定產生及提供最佳化 APK,因此僅會下載特定裝置所需的程式碼和資源,以執行您的應用程式。您不再需要建構、簽署及管理多個 APK,針對不同裝置提供最佳支援,且使用者取得更小且最佳化的下載。
大多數的應用程式專案可以輕鬆建構支援提供最佳化 APK 的應用程式套件。舉例來說,如果您已根據現有的慣例整理應用程式的程式碼和資源,只要使用 Android Studio 或使用指令列來建構簽署的 Android App Bundle,並上傳至 Google Play。您可以持續受益於經過最佳化的 APK 提供機制。
使用應用程式套件格式發布應用程式時,您也可以選擇運用 Play Feature Delivery,在應用程式專案中加入「功能模組」。這些模組包含的功能和資源僅根據您指定的條件包含在應用程式中,或者日後在執行階段時使用 Play Core 程式庫下載。
透過應用程式套件發布應用程式的遊戲開發人員,可以使用 Play Asset Delivery:Google Play 的解決方案提供大量遊戲資產,讓開發人員享有靈活的提交方式和高效能。
請觀看以下影片,概略瞭解使用 Android App Bundle 發布應用程式的原因。
壓縮下載大小限制
使用 Android App Bundle 發布應用程式,有助於使用者以盡可能少的下載量安裝您的應用程式,並將壓縮下載大小上限提高至 200 MB。也就是說,使用者下載應用程式時,安裝應用程式的壓縮 APK 大小 (例如基準 APK + 設定 APK) 不得超過 200 MB。後續的所有下載作業 (例如隨選下載功能模組及其設定 APK) 也必須符合這個壓縮下載大小限制。資產包不適用於這個大小限制,但其有其他大小限制。
如果您上傳應用程式套件,但 Play 管理中心發現任一應用程式下載作業或隨選功能的大小超過 200 MB,就會收到錯誤訊息。
請注意,Android App Bundle 不支援 APK 擴充檔案 (*.obb
) 檔案。因此,如果您在發布應用程式套件時遇到這個錯誤,請使用下列資源縮減壓縮的 APK 下載大小:
- 您必須為每種設定 APK 設置
enableSplit = true
,藉此啟用所有設定 APK。藉此確保使用者只下載在裝置上執行應用程式所需的程式碼和資源。 - 請務必移除未使用的程式碼和資源,以縮減應用程式。
- 按照最佳做法進一步縮減應用程式大小。
- 請考慮將只有部分使用者會使用的功能轉換為功能模組,方便應用程式日後隨選下載。請注意,您可能需要重構應用程式,因此請務必先嘗試上述其他建議。
其他考量
以下是使用 Android App Bundle 建構或提供應用程式時,目前已知的問題。如果您遇到未於下方說明的問題,請回報錯誤。
- 側載應用程式的部分安裝 (也就是未透過 Google Play 商店安裝,且缺少一個或多個必要的分割 APK) 在所有 Google 認證裝置和搭載 Android 10 (API 級別 29) 或以上版本的裝置上均失敗。透過 Google Play 商店下載應用程式時,Google 會確實安裝應用程式所需的所有元件。
- 如果您使用的工具會動態修改資源資料表,應用程式套件產生的 APK 可能會發生非預期的行為。因此,建議您在建立應用程式套件時停用這類工具。
- 在功能模組的建構設定中,您目前可以設置與基本 (或其他) 模組中的屬性衝突的屬性。舉例來說,您可以在基本模組中設定
buildTypes.release.debuggable = true
,然後在功能模組中將其設為false
。這類衝突可能會導致建構與執行階段問題。請注意,根據預設,功能模組會沿用基本模組中的某些建構設定。因此,請務必瞭解功能模組建構設定中應保留哪些設定,以及應省略哪些設定。
其他資源
如要進一步瞭解 Android App Bundle,請參閱下列資源。
網誌文章
- 建立您的第一個 App Bundle
- 全新發布格式對 Android 未來造成的影響
- 協助您在 Google Play 上開發、發行及拓展業務的新功能
- 最新的 Android App Bundle 更新內容包含了其他語言的 API
- 解構 Plaid - 一段關於模組化的故事
- Google 聖誕老人追蹤器 - 移至 Android App Bundle
- Play 管理中心的開發人員工具
影片
- Play 應用程式簽署計畫須知
- 建立您的第一個 App Bundle
- 應用程式套件:使用 Bundletool 和 Play 管理中心進行測試
- 使用應用程式套件自訂傳送功能,以及輕鬆共用測試版本
- 最佳化應用程式大小並帶動 Google Play 安裝量成長的新工具