[譯文] 透過 Android App Bundle 格式發佈更小的 Android App

原文出處:
https://devblogs.microsoft.com/xamarin/android-app-bundle/


Android App Bundle (.aab) 是一種能包含所有編譯程式碼與資源檔的 Android App 發佈格式,且不同於過去使用 apk 的發佈到 Google Play 的 app 上傳格式。Google Play 設計了一種稱之為 "Dynamic Delivery" 的新式服務模式,這可以讓使用者在下載 App 的時候只針對自己使用的裝置所需要的資源來下載,也就是說可以下載執行應用程式所需的必要項目即可。

這也避免了需要針對不同的裝置特性,管理多種不同的 APK 們。此外,也能夠使用 Dynamic Delivery Modules 來定義使用者第一次下載 App 的時候所需的資訊。 

使用 Android App Bundles 提高了 app 大小限制到 150MB,不需要處理那些惱人的 APK 擴充檔案,真的可說是使用 Android App Bundles 來發佈 App 將是一舉數得。

AppBundles

Size Savings

當你的應用程式大小開始增長,你可能會開始遭遇下列的一些問題:

  • 下載速度緩慢
  • 安裝率降低
  • 解除安裝提高
  • 不支援 APKs 的裝置

若使用 aab 則可以獲得下列好處:

  • 下載變快
  • 安裝率提高
  • 解除安裝降低
  • 提供使用者符合的設定與功能
  • 簡化編譯 App 時須維護不同版本的 APKs 組件


如果想要了解更多有關於 aab 會對所發佈的 App 有何影響,請仔細查閱 Google 的 Android 官方文件: App Bundle Size Savings

我們看到這些顯著的益處,也真實的實現在 Xamarin 的開發使用中!

下面的對照是我們用傳統的 APK 發佈方式上傳到 Google Play,App 大小大約是 39.4MB,接著我們使用 Android App Bundle 的方式來發佈,App 的大小就降低到了 23.3MB,這大約減少了 35%!

AppBundleSizeSaving

 

開始使用

你可以透過以下步驟,建置出 app bundles 以及支援 Dynamic Delivery 的 App:

  1. 在 Windows 平台請下載 Visual Studio 16.4 或更高階的版本,在 Mac 上請使用 Visual Studio for Mac 8.4 或更高階的版本。
  2. 針對 Release 模式設置應用 App。
  3. 使用 Visual Studio 建置 Android App Bundle,如果無法使用 IDE,也可以透過 build an app bundle from the command line 的方式來建立。
  4. 針對 App 發佈到 Google Play 簽章
  5. 發佈 App 到 Google Play

 

建立與部署 Android App Bundles

Android App Bundles 跟 APKs 有個最大的不同之處,就是 .aab 不能直接讓裝置安裝 App,而是預期透過這種格式上傳所有的程式碼跟資源。在上傳簽章過後的 app bundle 之後,Google Play 會針對來下載 App 的使用者建置適合的 APK 們與提供 Dynamic Delivery 的服務。

啟用 Android App Bundle 所需要做的是在 Android 建置選項中,針對 Android Package Format 屬性設定 bundle 值。而當要這麼做的時候請確定專案組態勢設定為 Release 模式以供發佈,請按造下面步驟完成這個設定:

  1. 在 Android 專案上點選右鍵選單,選擇「屬性」。
  2. 導覽選擇到「Android 選項」。
  3. 變更組態設定為「Release」。
  4. 變更 Android Package Format 為「bundle」。
    PackageFormat

一但完成上述步驟,將能透過在 Android 專案上的右鍵選單選擇「封存」,這樣就能夠產生出 App 的 app bundle 格式檔案了 。

Archive

 

測試你的 app bundle

當完成建立 Android App Bundle,你可以透過 Google Play 了解如何針對不同的裝置建置 APK 們。如果要測試你的 app bundle,可以透過下列方式:


了解更多

請透過 Google 提供的 Andorid App Bundles 官方文件


 


I'm a Microsoft MVP - Developer Technologies (From 2015 ~).
 

MVP_Logo



I focus on the following topics: Xamarin Technology, Azure, Mobile DevOps, and Microsoft EM+S.

If you want to know more about them, welcome to my website:
https://jamestsai.tw 


本部落格文章之圖片相關後製處理皆透過 Techsmith 公司 所贊助其授權使用之 "Snagit" 與 "Snagit Editor" 軟體製作。