Skip to content
Back to Blog

How to Test Android App Bundles (AAB) Before Release

BetaDrop Team
Updated
8 min read
test android app bundlesinstall AAB on devicebundletool guideAAB to APK converter
How to Test Android App Bundles (AAB) Easily

Reviewed by Kaushal Rola

Founder, Immersive Mobile Designs — we build the OTA tooling this post describes.

Share:

Since Google made the Android App Bundle (AAB) the mandatory standard for new apps on the Play Store, developers have faced a common headache: How do you test an AAB file?

Unlike the traditional APK, you can't just drag and drop an .aab file onto your phone to install it. This guide explores the most effective ways to test Android App Bundles in 2026, ensuring what you ship is exactly what your users get.

What is an Android App Bundle (AAB)?

An AAB is a publishing format, not an install format. It contains all your app's compiled code and resources but defers the APK generation and signing to Google Play.

Why the switch? Size savings. Google Play uses the AAB to generate optimized APKs that only contain the resources (language, screen density, CPU architecture) needed for a specific user's device. You can see that split without building anything: the AAB inspector opens an .aab in the browser and lists its modules and delivery modes next to an estimate of what a single device would actually download.

Method 1: Google Play Internal App Sharing (Recommended)

The easiest way to test an AAB is to let Google do the heavy lifting using Internal App Sharing.

  1. Open the Google Play Console.
  2. Navigate to Setup -> Internal App Sharing.
  3. Upload your .aab file.
  4. Copy the generated link and share it with your testers.

Before the link will install anything, each tester has to turn on Internal app sharing once on their device: open the Play Store app -> Settings -> About, tap the Play Store version row seven times, then enable the Internal app sharing toggle under General.

Pros: mimics the real Play Store installation process exactly.
Cons: requires Play Console access and waiting for upload processing.

Internal App Sharing is only one of Google's testing lanes — see Internal App Sharing vs closed testing for when to graduate to a proper track.

Method 2: Using Bundletool (Command Line)

If you want to test locally without uploading to Google servers, you need bundletool. This is the official tool Google uses under the hood.

Step 1: Install Bundletool

Download the latest bundletool-all-[version].jar from the GitHub repository.

Step 2: Generate APKs from AAB

Run the following command in your terminal to create an .apks archive (note the 's'):

java -jar bundletool.jar build-apks \ --bundle=path/to/your/app.aab \ --output=path/to/your/app.apks \ --ks=path/to/keystore.jks \ --ks-pass=pass:your_keystore_password \ --ks-key-alias=your_key_alias \ --key-pass=pass:your_key_password

The --ks flags point bundletool at the same release keystore you use for a normal APK build — if keystores and key aliases are still fuzzy, our guide to Android app signing explains them.

Step 3: Install on Connected Device

First enable USB debugging: on the device open Settings -> About phone and tap Build number seven times to unlock Developer options, then turn on USB debugging under Settings -> System -> Developer options. Connect the device by USB and run:

java -jar bundletool.jar install-apks --apks=path/to/app.apks

bundletool reads the device spec and pushes only the configuration APKs that device actually needs. To skip building the full APK set and target the attached device alone, add --connected-device to the earlier build-apks command.

Method 3: Extract Universal APK

Sometimes you just want a single APK file to share via BetaDrop or email. You can force bundletool to create a "universal" APK that contains resources for all devices (like the old days).

java -jar bundletool.jar build-apks \ --mode=universal \ --bundle=path/to/app.aab \ --output=path/to/universal.apks \ --ks=...

The .apks archive is just a ZIP, so extract the standalone APK with:

unzip path/to/universal.apks -d universal_output

The installable file lands at universal_output/universal.apk. From there you can distribute it like any normal APK — see our guide on how to share Android APK files for testing for the fastest routes to your testers.

Sharing Your Universal APK with BetaDrop

Once bundletool has produced a universal APK, you can get it onto real phones in seconds. Upload the APK to BetaDrop (builds up to 500 MB) and you get an instant over-the-air install link plus a QR code — testers install straight from their phone browser, with no Play Store, tester accounts, or USB cables required. Before you send it out, it is worth opening the file in the APK inspector to confirm the package name, version code, and requested permissions match the build you intended to ship.

Summary

While AABs add a slight layer of complexity to the testing process, tools like Internal App Sharing and bundletool make it manageable.

  • For Quick Team Sharing: Use a Universal APK (extracted via bundletool).
  • For Final QA: Use Internal App Sharing to ensure dynamic delivery works correctly.
  • For Local Debugging: Use bundletool install-apks directly to your device.

Frequently Asked Questions

Can I install an AAB file directly on my phone?

No, Android devices cannot install .aab files directly. You must convert the AAB into an APK set using a tool like bundletool or download the generated APK from the Google Play Console.

What is the format difference between AAB and APK?

An APK is an installable package containing all resources for a specific device configuration. An AAB (Android App Bundle) is a publishing format that contains all your app's compiled code and resources, which Google Play uses to generate optimized APKs for each user's device.

Is bundletool free?

Yes, bundletool is an open-source command-line tool provided by Google to manipulate Android App Bundles.

How do I share an AAB with testers?

The best way is to upload the AAB to Google Play Console (Internal Testing track) or use Internal App Sharing. Alternatively, extract the universal APK using bundletool and share that file directly.

How do I extract a universal APK from an AAB?

Run bundletool build-apks with the --mode=universal flag to produce an .apks archive, then unzip that archive to find a single universal.apk inside. This one APK contains resources for every device configuration, so it installs on any device and can be shared like a normal APK file.

What is the maximum size of an APK I can share for beta testing?

It depends on your distribution channel. If you extract a universal APK and share it through BetaDrop, the upload limit is 500 MB per build on the free plan (1 GB on Studio). Registered builds start at 3 days (extendable to 7 days free), while anonymous guest links expire after 24 hours.

Ready to Distribute Your App?

Upload your IPA or APK file and get a shareable install link in seconds. Your first upload needs no account. Completely free.