You can’t install an AAB file on a phone by tapping it, because an AAB is a publishing format, not an installable app. To install an AAB file on your phone, you first turn it into APKs: on a computer with Google’s bundletool, on the phone with a split-APK installer app, or through Google Play’s internal app sharing. If you built the app yourself, the easiest fix is usually to install the APK build instead.
Why an AAB file won’t install on your phone
An AAB won’t install because Android installs APKs, and an AAB is the input Google Play uses to make them. The Android docs describe an Android App Bundle as a publishing format with all your compiled code and resources that defers APK generation and signing to Google Play. Play then builds optimized APKs for each device configuration.
Tap an .aab file in your file manager and the phone has nothing to run. Our post on what is replacing APK files on Google Play explains why Play moved to bundles in the first place.
Which method should you use?
The right method to install an AAB file on a phone depends on who you are and what you have.
| Your situation | Best route | Needs a computer? |
|---|---|---|
| You built the app and still have the project or builder | Install the APK build instead | Depends on how you transfer it |
| You only have the AAB and its keystore | bundletool with your key | Yes |
| You want testers to install it | Play Console internal app sharing | Only for the upload |
| You downloaded an AAB from somewhere | Split-APK installer app, with care | No |
My take: if you own the app, don’t fight the AAB at all. Every Android build tool can produce an APK from the same project, and an APK installs in one tap.
Method 1: Turn the AAB into APKs with bundletool
bundletool is the official way to install an AAB file on a phone from a computer. Google’s bundletool page calls it the underlying tool that Android Studio, the Android Gradle plugin and Google Play use to build app bundles, and it can convert a bundle into the APKs that run on devices.
What you need
- A computer with bundletool, downloaded from the bundletool releases page on GitHub.
- The adb tool. Google’s adb docs describe it as a command-line tool that lets you communicate with a device, including installing apps.
- Your phone with USB debugging on, connected by cable.
- Ideally, the keystore the app was signed with.
Turn on USB debugging
USB debugging is what lets adb and bundletool talk to the phone. Google’s developer options guide gives these steps:
- Find Build number. On a Google Pixel it’s under Settings > About phone. On a Samsung Galaxy S8 and later it’s under Settings > About phone > Software information.
- Tap Build number seven times until you see “You are now a developer!”
- On Android 9 (API level 28) and higher, go to Settings > System > Advanced > Developer Options and turn on USB debugging.
- Plug in the phone, accept the prompt, and run
adb devicesto check it’s listed.
Menu names differ a little between brands, so search Settings for “Build number” if you can’t see it.
Build and install the APK set
First, build an APK set from the bundle. Add your keystore so the result is signed like the real app:
bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks --ks=/MyApp/keystore.jks --ks-pass=file:/MyApp/keystore.pwd --ks-key-alias=MyKeyAlias --key-pass=file:/MyApp/key.pwd
The output is an APK set archive with the .apks extension. Then deploy it:
bundletool install-apks --apks=/MyApp/my_app.apks
bundletool picks the right APKs from the set for the connected phone. If more than one device is plugged in, add --device-id=serial-id. To make the build faster, add --connected-device to build-apks, which targets only that phone’s configuration.
The signing trap
The signing key catches most people out. The bundletool docs say that if you don’t give signing information, it signs your APKs with a debug key. That works for a quick test on a clean phone.
It fails when the real app is already installed. Android won’t update an app with one signed by a different key, so you’ll see an install error and have to uninstall first, losing the app’s data. Our guide to the APK “App not installed” error covers that message, and signed vs unsigned APKs explains why the key matters.
Need one APK to send to someone?
A universal APK is the simplest file to share. The --mode=universal flag tells bundletool to build a single APK with all your app’s code and resources, compatible with every device configuration the app supports. Google notes it’s larger than device-specific APKs but easier to share with testers. Pull the APK out of the .apks archive and send that.
Method 2: Use Android Studio’s “APK from app bundle” option
If you have the project open in Android Studio, the IDE can test the bundle path for you. The run configuration docs describe an APK from app bundle deploy option. Android Studio builds an app bundle, then generates only the APKs needed for the connected device.
Use it to test the exact bundle you’ll upload. Google warns it extends total build time, so switch back to the default APK option for everyday runs.
Method 3: Share it through Google Play internal app sharing
Internal app sharing is the cleanest way to get an AAB onto other people’s phones. According to Play Console Help, you upload an app bundle or APK on the internal app sharing page and get a link. You can limit access to email lists or allow anyone with the link.
Limits from the same page:
- A maximum of 100 users can download through each link.
- Links expire 60 days after upload. Upload the same bundle again for a new link.
- Uploads can be signed with any key. Google re-signs them with an Internal App Sharing key.
- Shared builds can’t be promoted to testing or production tracks.
Testers have to switch the feature on first. In the Google Play Store app they tap Menu > Settings, tap the Play Store version 7 times in the About section, then turn on Internal app sharing. They also need access to your app’s store listing. If you’re working toward a public release, our explainer on Google Play’s closed testing rule for new accounts covers the next step.
Method 4: Install with an app on the phone
Installer apps are the only route that works without a computer. nextpit’s guide points to Split APKs Installer (SAI), available on the Play Store, and notes it may not work on MIUI phones.
The catch is trust. An installer app can only install what’s in the file, and a random AAB from a forum might not be signed by the real developer. Use this route only for files you built or got straight from the developer.
If you built the app with a website-to-app builder
You rarely need to install the AAB if you made the app yourself. On webtoapkfree.com, the builder outputs a signed APK to install and test on a device, and an AAB for a separate store submission such as Google Play. Packaging and signing run in your browser, and both files come from the same project and key.
The usual path: install the APK on your phone to check it, then upload the AAB to Play. The APK vs AAB guide explains which file goes where. Generated apps require Android 8.0 or newer (minimum SDK 26), so an older phone won’t install either file. If you only have an APK and Play wants a bundle, see can I convert an APK to an AAB.
FAQ
Can I open an AAB file on Android without a computer?
Not with the built-in package installer. A split-APK installer app such as SAI can handle bundle-style packages on the phone, but results vary by device. The official routes use a computer or Google Play.
What is an .apks file?
It’s an APK set archive that bundletool creates from your AAB. It holds the generated APKs, and bundletool install-apks deploys the right ones to a connected device.
Why does my app lose its data after I install the bundletool build?
If you don’t pass your keystore, bundletool signs the APKs with a debug key. Android won’t update an app signed with a different key, so you have to uninstall the old one first, which wipes its data.
Can testers install my AAB without me sending files?
Yes. Upload it to Play Console internal app sharing and send the link. Up to 100 users can download through each link, and the link expires 60 days after upload.
Sources
- About Android App Bundles (Android Developers)
- bundletool (Android Developers)
- bundletool releases (GitHub)
- Share app bundles and APKs internally (Play Console Help)
- Create and edit run/debug configurations (Android Developers)
- Configure on-device developer options (Android Developers)
- Android Debug Bridge (Android Developers)
- How to install AAB files on your Android smartphone? (nextpit)