-
The Android App Bundle logo. [credit: Google ]
Android’s app file format, the APK (Android PacKage), has been with us since the 2008 launch of Android. It’s portable, easy to create since it’s just a structured .zip file, and widely supported by a variety of tools. Windows 11 is even going to support the format as part of its upcoming Android compatibility. Google, though, doesn’t want APKs to be the way to publish an Android app anymore. Google’s Android Developer Blog recaps how, starting in August, new apps being uploaded to the Play Store will need to use the new Android App Bundles (AAB) format to distribute apps. This sounds like just the beginning, and Google says that App Bundles “will replace the APK as the standard publishing format.”
Android App Bundles were introduced to the Android ecosystem in 2018, and I wrote a big section about them in the Android 9 review. The basic sales pitch is that Android devices have plenty of different hardware and language combinations that apps have to support, and shipping all of that code to every individual device is a waste of space. Android supports over 150 languages, four different CPU architectures (ARMv7, ARMv8, x86, and x86_64), and several screen resolution buckets. It’s common to pile all of this into a single APK (though sometimes they are split up by CPU architecture), but doing so means each device gets a lot of code and resources that are irrelevant for its specific combination of CPU, locale, and screen size. While this waste of storage space doesn’t matter much on high-end phones with good Internet connections, it can be a big deal for cheaper, storage-limited devices and in places where speedy Internet is hard to come by.
Google’s solution is the Android App Bundle, which turns Android app distribution from a monolithic, universal APK to a collection of “split APKs” that can be specifically doled out by the Google Play Store for each individual device. As the name suggests, these “Split APKs” aren’t entire apps. They’re parts of an app, each targeting a specific area of change, that combine to form the final app. With App Bundles, if you have a high-resolution, ARMv8 device with a locale set to English with App Bundles, the Play Store will spit out a set of Split APKs that supports only that device type. If your friend has a low-resolution, ARM v7 phone set for English and Hindi, they’ll get another set of APK that supports exactly that. Google Play can generate bespoke APKs for every user, giving them only the code they need and nothing more. Google says the result are apps that are 15 percent smaller than a universal APK.