APK files or Android PacKage file format has been there since 2008, when Android operating system came into existence. It has been a key file format for all Android apps that are present on Google Play store or on other third party app stores. In fact, you could also download apps in APK format from websites and run them on any Android smartphone.
The massive Android ecosystem is backed by APK files but Google wants to kill it and replace it with something called Android App Bundles (AAB). The search giant had talked about AAB in 2018 for the first time in 2018. Now, Google has announced that Google Play will start requiring new apps to be published with the Android App Bundle starting August 2021. For new apps starting August 2021, AAB will replace the APK as the standard publishing format.
Google has clarified that the AAB standard only applies to new Android apps and said that “existing apps are currently exempt.” While this may sound like a relief for developers, it goes without saying that it is just a matter of time that all Android– old and new–will be required to follow the app bundle requirement.
How is the Android App Bundles standard better than APK?
Since the time Google launched Android App Bundles in 2018, prominent app developers have been working on it. So, what’s 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 will be used by you. This will lead to smaller size apps and more importantly will help Google save money on bandwidth.
Given the range of hardware and languages available for Android OEMs, app developers need to provide support for each of them. For example, Android comes with support for over 100 languages, different CPU architectures like– ARM v7, ARMv8 along with Intel x86, and different screen resolutions. Now, an app developer needs to bundle support for this vast range of combinations into one APK app. This means your phone contains a lot of unnecessary codes from every app that you download which results in bigger apps and also consumes more storage space.
While for most smartphones with good internet connection this may not be a problem, people using low-end Android phones may get a laggy experience.
With Android App Bundle (AAB), Google will use “split APKs” and Google Play store will roll out the exact required APK for your device and will not provide anything extra. If your device is based on ARMv8 CPU architecture, with AAB Google will only provide the package for ARM v8 while downloading a particular app and not the entire APK file consisting of support for ARMv7, ARMv8 and Intel x86 architectures.
Android App Bundles is more about Google and less about you
There’s little doubt that replacing the APK format with the AAB standard will give greater control to Google to regulate Android. AAB is open source but a non-Google app store needs to have the ability to process apps on the cloud and deliver to end users accordingly. For Google, this is easy as it has its own “bundletool” open source app to help in the process but a third-party app store will need put in place its own cloud infrastructure and pay for servers and also deal with app signing. App signing ensures that only the real publisher of the Android app gets to provide updates to the app and not some other random developer. It also ensures that financial data from apps aren’t leaked.
In simple words, instead of developers, it is the app store that will decide which APK files gets downloaded on which phone. More importantly, app stores will also have to host the developer app signing key of every app. Google is doing this through “Play App Signing” where Google will store the app signing key “securely”.
“Play App Signing is required for app bundles, protects your app signing key from loss by using Google’s secure infrastructure and offers the option of upgrading to a new, cryptographically stronger app signing key,” explains Google.
What could go bad?
For Google Play Store, App Bundles may work out fine. But for third-party app stores, it is like giving too much responsibility. With app stores having access to signing key, there’s always a risk of rogue players or the government forcing the app store owner to change a particular app. Google is fighting this concern by offering something called a “code transparency” feature that will let developers check that users are getting what they want to provide. But for non-Google app stores, there’s always this 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 look at a maximum storage saving of 15%. So, instead of a 100MB app, with App Bundles, it will be reduced to 85MB. It may not matter much for the end user but for developers it would mean giving a lot of control to Google.