早在2018年的 Google I/O大會上, Google 就向 Android 引入了新 App 動態化框架(即 Android App Bundle ,縮寫為 AAB ),而這個框架隨著 Android 用戶和開發者的不斷增長越顯重要。近日,一重磅消息顯示:在今年8月, Google Play Store 將改用 App Bundles 而不是 APK 作為其標準包格式,這一變化不僅會影響到開發者,也會影響到普通 Android 用戶,希望能有更好的效果。
對於 Android 用戶來說, APK 安裝文件應該不會陌生了。而他與 Android App Bundle 的區別在於, APK 更類似於 Java 的 JAR 檔案(實際上是它的延伸),旨在捆綁一個應用程式在裝置上安裝所需的一切,從代碼到圖像和聲音等資產,其中一些將為不同種類和尺寸的裝置提供不同版本。但隨著 Android 生態系統的發展,那些需要打包在 APK 中才能使用的東西也越來越多。所以,現階段 Google 為大型應用制定變通方案,特別是遊戲類型。目前的方案是在用戶玩遊戲或者使用應用之前,通過 OBBs 的形式提前進行下載。
而上述所遇到的問題 Android App Bundle 可以很好的解決, Android App Bundle 作為一種全新的 App 發布、更新模式,能夠大幅度的減少用戶下載的 apk 包的大小,因為這是一種按取所需的安裝方式。結合 Google Play Dynamic Delivery (動態交付) , 實現動態功能。
Android App Bundle 最直接可見的一點就是下載的 App 的時間有明縮短, APK 文件不再需要包含所有的內容。事實上, Android App Bundles 要求 App 的大小不要超過150MB ,而對於那些超過 150MB 的 App , Android App Bundles 則利用 Play Asset Delivery ( PAD )方式來替代 OBB ,而且這個 PAD 系統承諾對非代碼資產的下載速度也會更快,甚至用戶可以邊玩遊戲邊下載。
而且 Android App Bundles 還有一個 APK 無法實現的新功能就是 Play Feature Delivery 。該功能側重於讓用戶盡快地去使用應用程序所需要的功能,用戶首先下載的是那些能讓用戶立刻使用的功能部分,而那些非必要的其他部分則在該程序安裝後的幾秒內利用 PFD 將其推遲到以後再下載。
但是 Android App Bundles 並不是非常完美的,對於開發者來說還有一個「隱藏陷阱」。那就是 Android App Bundles 無法應用於 Play Store 之外的應用商城,也不能在 Play Store 之外進行分發。這意味著從 APK 轉向 App Bundles 的開發者不能再在其他應用商城上提供完全相同的軟件包或體驗,除非他們選擇維護一個單獨的 APK 版本,這也大大增加了開發者們的工作量。