The huge Android ecosystem is supported by APK files, but Google wants to kill it and replace it with something called Android App Bundles (ABB). The search giant first mentioned AAB in 2018. Now, Google has announced that Google Play will require new apps to be published with the Android App Bundle from August 2021. For new apps from August 2021, AAB will replace the APK as the default publishing format.
Google clarified that the AAB standard only applies to new Android apps, saying that “existing apps are currently exempt.” While this may sound like a relief to developers, it goes without saying that it’s only a matter of time before all Android – old and new – must meet the app bundle requirement.
How is Android App Bundles better than APK by default?
Since the time Google launched Android App Bundles in 2018, prominent app developers have been working on it. So, what is the basic difference between Android App Bundles and APK files? With Android App Bundles, your phone gets codes that are supported by your phone and used by you. This will lead to smaller apps and, more importantly, help Google save money on bandwidth.
Given the range of hardware and languages available to Android OEMs, app developers should provide support for each of them. For example, Android comes with support for more than 100 languages, different CPU architectures like – ARM v7, ARMv8 along with Intel x86 and various screen resolutions. Now an app developer needs to bundle support for this huge number of combinations into one APK app. This means that your phone has a lot of unnecessary codes from every app you download, resulting in larger apps and also taking up more storage space.
While this may not be a problem for most smartphones with a good internet connection, people using low-end Android phones may get a laggy experience.
With Android App Bundle (AAB), Google uses “split APKs” and Google Play Store rolls out the exact required APK for your device and doesn’t offer anything extra. If your device is based on ARMv8 CPU architecture, Google with AAB will only provide the package for ARM v8 when downloading a particular app and not the full APK file which consists of support for ARMv7, ARMv8 and Intel x86 architectures .
Android App Bundles is more about Google and less about you
There is little doubt that replacing the APK format with the AAB standard will give Google more control to regulate Android. AAB is open source, but a non-Google app store must have the ability to process apps in the cloud and deliver them to end users accordingly. For Google, this is easy, as it has its own open source app “bundletool” to help with the process, but a third-party app store needs to set up its own cloud infrastructure and pay for servers and also handle app signing. signing ensures that only the real Android app publisher is allowed to provide updates to the app and not any other developer. It also ensures that financial data from apps is not leaked.
In simple terms, rather than developers, it is the app store that decides which APK files are downloaded to which phone. More importantly, app stores will also need to host each app’s developer app signing key. Google does this through “Play App Signing”, where Google stores the app signing key “securely”.
“Play App Signing is required for app bundles, protects your app signing key from loss by leveraging Google’s secure infrastructure, and offers the option to upgrade to a new, cryptographically stronger app signing key,” explains Google.
What could go wrong?
For Google Play Store, App Bundles can work fine. But for third-party app stores, it’s like giving too much responsibility. With app stores having access to the signing key, there is always a risk that rogue players or the government will force the app store owner to change a particular app. Google addresses this concern by offering a so-called “code transparency” feature that allows developers to verify that users are getting what they want to offer. But for non-Google app stores, there’s always that uncertainty.
For Google it makes a lot of sense. With App Bundles, Google is expected to save petabytes of bandwidth every day. But for the end users, they are looking forward to a maximum storage saving of 15%. So instead of a 100 MB app, with App Bundles, it will be reduced to 85 MB. It may not matter much to the end user, but for developers it would mean giving Google a lot of control.