Install Android App Bundle on device
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
You cannot install an .aab file directly on an Android device with adb install. An Android App Bundle is a publishing format, not an installable package. To test it on a device, you first use bundletool to generate device-specific APKs or a universal APK set, then install those APKs. Once that distinction is clear, the workflow is straightforward.
Why an .aab Is Not Directly Installable
An APK is the actual package Android installs. An App Bundle contains the ingredients Google Play or bundletool uses to build the right APK split set for a specific device configuration.
That is why this does not work:
The device installer expects APKs, not a bundle description.
Build an APK Set with bundletool
The usual local testing flow is:
- build or obtain the signed
.aab - use
bundletoolto generate an.apksarchive - install the generated APK set onto the connected device
Example command:
If your keystore requires passwords, add --ks-pass and --key-pass as needed.
The resulting app.apks file is a container holding the APKs that match different ABIs, languages, and screen densities.
Install on a Connected Device
Once you have the APK set, connect a device with USB debugging enabled and confirm that adb sees it.
Then install the correct split set for that device:
bundletool talks to the device through adb, detects the device configuration, and installs only the required APKs.
That is the key reason to use install-apks instead of manually extracting random APK files from the archive.
Universal APK for Simpler Sideloading
If you need a single APK for quick local testing, generate a universal mode APK set.
You can then extract the universal APK and install it with adb install, or still use install-apks on the .apks archive.
Universal APKs are convenient, but they are larger and less representative of what Google Play would deliver to a real device.
Typical Local Workflow
A practical debug cycle looks like this:
If you are testing debug builds, use the debug bundle and signing setup that matches your environment.
Troubleshoot Signing and Device Mismatch
If bundletool fails during installation, the two most common causes are signing problems and device-specific split mismatches. Make sure the bundle was built from the same app ID you expect on the device and that the signing key matches what Android allows for that package name. If an older build is already installed with a different signing certificate, uninstall it before retrying.
That simple cleanup step resolves many local sideload failures.
Common Pitfalls
- Trying to install the
.aabdirectly withadb install. - Building an APK set without signing information when the bundle is not already properly signed.
- Extracting APKs manually instead of letting
bundletool install-apkschoose the right splits. - Forgetting to enable USB debugging or verify the device with
adb devices. - Using a universal APK for performance or size testing and assuming it matches Play delivery exactly.
Summary
- An Android App Bundle is not directly installable on a device.
- Use
bundletool build-apksto convert the.aabinto an APK set. - Use
bundletool install-apksto install the correct split APKs on a connected device. - Generate a universal APK only when you specifically need a single installable artifact.
- For realistic local testing, follow the bundle-to-APK-set workflow instead of sideloading the
.aabitself.

