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 發布應用程式,有助於使用者以盡可能少的下載量安裝您的應用程式,並提高壓縮下載大小。也就是說,使用者下載應用程式時,安裝應用程式的壓縮 APK 大小 (例如基準 APK + 設定 APK) 不得超過 4 GB。後續的所有下載作業 (例如隨選下載功能模組及其設定 APK) 也必須符合這個壓縮下載大小限制。資產包不適用於這個大小限制,但其有其他大小限制。
如果 Play 管理中心發現任一應用程式下載作業或隨選功能超出大小上限,就會收到錯誤訊息。
請注意,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,請參閱下列資源。
網誌文章
- 建立您的第一個應用程式套件
- 全新發佈格式對 Android 未來會造成什麼影響
- 協助您在 Google Play 上開發、發布應用程式及拓展業務的新功能
- 最新的 Android App Bundle 更新內容包含了其他語言的 API
- 解構 Plaid - 一段關於模組化的故事
- Google 聖誕老人追蹤器 - 移至 Android App Bundle
- Play 管理中心的開發人員工具
影片
- Play 應用程式簽署計畫須知
- 建立您的第一個應用程式套件
- 應用程式套件:使用 Bundletool 和 Play 管理中心進行測試
- 使用應用程式套件自訂提交功能,以及輕鬆共用測試版本
- 全新工具,可最佳化應用程式的大小並提高Google Play 的安裝率