谷歌應用商店用 AAB 格式替代 APK:App 體積將更小,8 月實施
6 月 30 日訊息 據外媒 SlashGear 報道,Google Play 應用商店正在不斷髮展,以滿足安卓使用者和開發者不斷增長的需求和要求。其中許多改進依賴於由人工智慧和機器學習驅動的自動化系統,特別是在篩選應用程式的惡意軟體或禁止內容方面。然而,有些改進要求開發者對他們編寫和釋出應用程式的方式做出改變。最具顛覆性的變化之一將在 8 月到來,屆時谷歌應用商店將改用 App Bundles 而不是 APK 作為其標準包格式,這一變化不僅會影響到開發者,也會影響到安卓使用者,希望能有更好的效果。
採用 App Bundles 的原因
APK 是安卓包(Android Package)的簡稱,長期以來一直是安卓的應用程式和遊戲的標準包格式。APK 更類似於 Java 的 JAR 檔案(實際上是它的延伸),旨在捆綁一個應用程式在裝置上安裝所需的一切,從程式碼到影象和聲音等檔案,其中一些將為不同種類和尺寸的裝置提供不同版本。然而,隨著安卓生態系統的發展,需要打包在 APK 中才能使用的東西也越來越多。
然而,APK 不能很好地適應安卓系統的增長,谷歌不得不為大型應用制定變通方案,特別是有時需要數千兆位元組額外資料的遊戲。這種變通方法是以 OBB 的形式出現的,甚至在你開始玩遊戲或使用該應用程式之前就需要下載。這些都是 Android App Bundles 承諾要解決的問題,雖然這些變化對使用者來說應該是透明的,但它們仍然應該是非常明顯的。
Android App Bundles,可能會被簡稱為 AAB,將改變安卓應用的打包方式,更重要的是,將改變其交付方式。最直接的區別之一是,將不再需要一個 APK 來包含所有型別的安卓裝置的所有內容,這意味著包的大小應該更小,下載時間應該更快。事實上,App Bundles 要求應用程式的大小不應超過 150MB
Android App Bundles 提供相同東西的新方法
對於需要超過 150MB 的應用程式,App Bundles 引入了一種新的功能來取代 OBB,稱為 Play Asset Delivery(PAD)。使用更好的資料壓縮和動態交付策略,這個 PAD 系統承諾對非程式碼檔案的下載速度也會更快,甚至可能在已經在玩遊戲的時候。未來的更新也可以更小,因為 PAD 不會包含所有的新檔案,而只包含不同版本的檔案之間的變動部分。遊戲檔案交付也有安全方面的好處,因為檔案儲存在 Google Play 並從其下載,而不是由開發者自己安排的一些 CDN 託管。
Android App Bundles 啟用的另一個新功能是 Play Feature Delivery(Play 功能交付),這是 APK 無法實現的。它擴充套件了應用程式捆綁包的概念,只包含特定裝置上需要的應用程式的部分,但側重於儘快實際開始使用該應用程式所需的功能。簡單的理解是,它將允許使用者在安裝應用後的幾秒鐘內立即使用該應用,將應用的其他部分的下載推遲到以後
安卓使用者應該不需要做任何事情就能從這些變化中受益,但應用開發者必須做繁重的工作。幸運的是,谷歌應用商店的 Android App Bundle 要求在 8 月生效,只適用於提交給應用商店的新應用。當然,如果開發者想改善使用者的體驗,他們也可以自願採用 App Bundles。
Android App Bundles 的“隱藏陷阱”
這聽起來確實不錯,至少對使用者來說是這樣,但它確實有一個微妙的細節。所有這些功能都只能在谷歌應用商店中使用,這聽起來似乎沒有什麼問題,但對一些安卓開發者有重要影響。與 APK 不同,Android App Bundles 不能存在於 Google Play 商店之外,也不能在其之外分發。這意味著,從 APK 轉向 App Bundles 的開發者不能再在其他應用源上提供完全相同的軟體包或體驗,除非他們選擇維護一個單獨的 APK 版本。這自然使第三方應用商店處於不利地位,但谷歌很可能會宣傳 Play 商店的安全性,作為避免使用這些來源的一個主要原因。