In its latest Android Studio 4.2, currently in Canary, Google has made significant improvements to the Android App Bundle format by introducing Play Asset Delivery (PAD) and dynamic modules resource shrinking.
Play Asset Delivery aims to bring Android App Bundle benefits to games, especially those larger than 150MB. PAD can be seen as a free, Google-managed CDN for game artifacts, which are packaged together and delivered dynamically to users. Developers can control how assets are downloaded choosing one of three available delivery modes: install-time, which delivers all assets when the app is installed; fast-follow, which delivers assets as soon as the app installation is completed; and on-demand, which delivers assets when they are requested. With fast-follow and on-demand, apps cannot assume the existence of those assets, and must be programmed accordingly.
Google has also worked on improving support for app modularization. In particular, Android Studio 4.2 now enables to shrink resources in all app modules, both dynamic feature modules and the app base module. Using feature modules enables delivering only those modules that are required on a user’s device. Modules can also be flagged as “removable”, which makes is possible to uninstall them after they have been used.
Other useful improvements to Android App Bundles introduced with Android Studio 4 are feature-to-feature dependency, which allows developers to specify that a dynamic feature module depends on another feature module.
Android App Bundle is a publishing format for Android apps Google introduced in 2018 as a replacement for the original APK format. Android App Bundle will be mandatory for all new apps released in 2021 on Google Play Store.
Similar to Apple Bitcode, on-demand resource, and app thinning, Android App Bundle aims to improve user experience when downloading and installing apps by separating the publishing format from the serving format (APK). This enables reducing binary size, delivering only actually required modules, and producing optimized resources and code for each user’s device. To this aims, Android App Bundle packages all required components but defer APK generation and signing to Google Play.
According to Google, over 40% of all apps published on Google Play have already transitioned to Android App Bundle and gained significant binary size reduction.