Google 正在推動開發者在 Play 商店中採用 Android App Bundles。 AAB 比 APK 更有效率,承諾應用程式更快、更小且更容易更新。但它是如何運作的,對 Android 的未來意味著什麼?
概括
該公告在 2021 年夏初產生了爆炸般的影響:Google 不再希望 Play 商店上架 APK 格式並旨在用 AAB(Android App Bundles)格式取代它。但為什麼要做出這個決定呢? APK 和 AAB 有什麼不同? AAB相對於APK有什麼優勢?這會為 Android 的未來帶來什麼改變?我們在本文中努力回答這麼多問題。
應用程式代表 Android 軟體包套件。這是 Android 作業系統上使用的歷史檔案格式。 APK 以壓縮方式匯集了應用程式正常運作和安裝所需的所有檔案。 Play 商店中的所有應用程式均為 APK 格式,可從官方應用程式商店之外下載任何 APK 文件,以在 Android 終端上安裝應用程式。
📅 AAB 何時在 Play 商店中成為強制要求?
的2021 年 8 月,任何提交到 Play 商店的新應用程式都必須採用 AAB 格式。因此,該措施目前僅涉及新服務。最終,我們可以想像,當部署更新以標準化其應用程式商店的體驗時,Google 將迫使開發人員從 APK 切換到 AAB。
🔺 APK 會消失嗎?
Play 商店向 AAB 格式的過渡遠非APK 結束。首先,因為AAB實際上是一種更有效率地將APK分發到使用者終端的方式。如果發布商不再為了 AAB 的利益而將 APK 上傳到 Play 商店,那麼歸根結底,負責的仍然是 AAB 中包含的 APK運行應用程式在設備上。
此外,如前所述,Play 商店中現有的應用程式可以繼續使用 APK 而不是 AAB。然而,大多數流行應用程式的發行商都會自願進行轉換並利用 AAB 來發揮其提供的所有優勢。
🔁 為什麼 Google 將 APK 替換為 AAB?
首先,我們要澄清的是,AAB 並不是什麼新鮮事。這種格式已經存在,但與 APK 共存。儘管自從它成為Play 商店的推薦格式和新應用程式的強制格式以來我們對其進行了更多的討論,但該技術是眾所周知的,一些發行商甚至在Google 最近的指令之前就已經採用了該標準。稍後我們將詳細了解 AAB 在 Play 商店中如何成為比 APK 更有效率的格式,無論是在安全性還是效能方面。
但讓我們暫時關註一下谷歌尚未提及的主題。 AAB 將使山景城公司能夠更好地控制其應用程式生態系統,並將其 Play 商店置於 Android 體驗的中心位置,從而損害第三方應用程式商店。它們提供應用程式的 APK,如果發行商決定僅以 AAB 格式發布其應用程序,他們將失去豐富的目錄。請注意,Google 已向開發人員提供了一個工具,讓他們將 AAB 轉換為 APK,但不能保證他們在切換到 Play 商店獨佔的 AAB 後會玩遊戲並提供 APK。 Android 軟體包安裝程式不支援 AAB,因此不可能(無論如何)在不透過官方應用程式商店的情況下透過其 AAB 安裝應用程式。

谷歌也可能間接地為微軟設置障礙。Windows 11將原生支援Android應用程式,可以從 Microsoft Store 下載並安裝在您的電腦上,Microsoft Store 本身是基於 Amazon Appstore,與其他替代應用程式商店一樣,需要 APK 檔案。
⁉ 什麼是 Android 應用程式套件?
Android 應用程式套件是適用於 Google Play 的發布格式它將應用程式的所有已編譯程式碼和資源組合在一起。然後動態處理該程式碼和這些資源,以便生成並交付個人化且優化的 APK對於每個設備。因此,開發人員不再需要建立、簽署和管理多個 APK 來優化對不同裝置的支援。所有資訊都集中在一處,然後根據需要智慧地分發給使用者。因此,用戶可以獲得該應用程式的更輕版本,因為它專門針對他們的裝置進行了最佳化。
目標是改善應用程式安裝體驗,同時降低卸載率(每個應用程式佔用更少的空間)。所有這些都不會增加開發人員的工作量,他們應該快速掌握系統並且沒有任何能力無需修改其應用程式的程式碼遷移到 AAB,無論如何,如果它是按照 Google 的建議開發的。

➿ AAB 和 APK 有什麼不同?
當您從 Play 商店下載 APK 時,您將獲得所有應用程式文件,甚至是那些您不需要的文件。使用 AAB,所有檔案都可以在 Play 商店中使用,但只有有用的元素才會安裝在終端機上。例如,設備僅分發其螢幕定義、其體系結構和預設語言的檔案。與AAB一起,應用程式下載和安裝因此變得更快,頻寬需求少,應用程式佔用少更少的儲存空間。
Google 提供了一些流行應用程式的範例,這些應用程式由於 Android App Bundle 而變得更加輕巧。 Dropbox 減少了 33%,Duolingo 減少了 42%,Airbnb 減少了 22%,Twitter 減少了 13%,Netflix 減少了 57%,Tinder 減少了 28%,LinkedIn 減少了 36%。
應用程式的下載時間不僅由於 AAB 產生的 APK 大小的減少而減少,而且還由於額外的功能。特別是,一個附加系統可以按需加載,讓您在初始安裝後添加不必要的功能和內容,無論是在使用應用程式時還是在使用者想要存取相關功能或內容時。因此,不需要安裝的大型功能、針對特定受眾的功能以及很少使用的功能可以放置在動態功能模組中。

對於開發人員來說,Android App Bundle 也是一種更有效率地部署更新的方法,有時無需強迫用戶透過 Play 商店升級其應用程式。模組仍通過安全檢查Google Play 保護,這不會導致更多與應用程式和更新的安全性和可靠性相關的問題。
到目前為止,我們擁有即時應用程序,預覽版可讓您啟動服務,甚至無需安裝它即可探索和測試它。但相容的應用程式仍然很少,需要開發人員的努力。借助 AAB,可以啟動尚未 100% 下載的應用程序,因為其基本元素已充分可用。我們在 PC 或遊戲機遊戲中熟悉的系統,即將登陸 Android。當連線速度較慢或玩大型遊戲時很有用。

總而言之,Android App Bundle 承諾更小、更好、更快、更容易更新應用程式。
📄 玩資產交付、玩功能交付,這是理所當然的嗎?
有兩個概念與 AAB 密切相關:遊戲資產交付Play Feature Delivery 讓 Android App Bundle 成為現實,並大大增強了它相對於簡單 APK 的優勢。 Play Asset Delivery 和 Play Feature Delivery 取代了 AAB 不支援的不透明二進位 blob (OBB) 擴充檔。
播放功能交付指的是前面所描述的動態模組系統。它允許自訂將哪些功能包交付到哪個設備以及何時交付,交付模式包括安裝時交付、有條件交付和按需交付。據 Google 稱,10% 的最受歡迎的應用程式已經使用 Play Feature Delivery。
遊戲資產交付透過優先處理基本元素來減少遊戲下載和安裝時間。紋理和聲音等附加資料僅在稍後處理。此外,壓縮工具僅向設備提供與使用者設備相容的資源,因此不會充斥著無法使用的元素。發布商的伺服器使用量較少,使用者體驗變得更加流暢。