Google being Goolag - Android App Bundles
Stub - expect rewrites, additions, & stuff
Last updated : 17/1/2022
What is Android App Bundles?
Android App Bundles (AAB) is a publishing format that includes an app's compiled code & resources, & defers APK generation & signing to Google, which then uses the bundle to generate & serve optimized(?) APKs for each device configuration, so only the code & resources required for a specific device are downloaded to run the app.
Benefits of AAB
While Android App Bundles can be a problem (discussed further), there's actual (debatable) benefit(s) to this "feature".
- Less download size for an app, allowing you to save download time & storage space.
Inherent issues with AAB
- Split APKs cannot be installed regularly like most APKs would (by opening the APK in a file manager), instead requiring another app (such as SAI) to install it. App stores such as Aurora may install them without much trouble.
- Most Android devices use arm (or arm64 to be more exact) architecture, making the split impractical. While there are Android-running devices with x86_64, they're mostly Chromebooks with Intel CPU.
- Since APK generation & signature controls are left to Google, they could make the app backdoored for some users downloading them from Play Store. This also breaks Android's security model, since a 3rd-party distributor (Google) signs the app.
A fix / workaround to AAB
Back to top
- For app developers : simply provide one universal APK (or APK + OBB (XAPK in APKPure for example) if >= 150MB). Sure, it will make the download size outright bigger, but at least the app will work regardless of what device you're running. If this means having to provide a direct download (or mirrored downloads), it is fine as long as there is a way to verify its authenticity (preferably without Goolag dependencies).
- SAI mitigates this issue as a band-aid.
- And, as an Android user, I sincerely hope A12 doesn't remove OBB compatibility (although this is going to be a fleeting one since Goolag has full control over Android development).
25/12/2021 update : For now, OBB compatibility is still intact in A12 GrapheneOS, though putting it to /Android/obb requires USB debugging and/or rooted file manager, just like A11.