How to Convert AAB File to APK

How to extract an APK file from an AAB and how to convert an AAB to APK with our guide. Android App Bundle, is a new file format for distributing Android apps via the Google Play Store.

Introduced in 2019, Google began advising developers to upload new apps and updates in .AAB format instead of the traditional .APK.

How to Convert AAB File to APK

The main goal of the Android App Bundle is to reduce the size of the app downloaded from the Play Store. Technically it is a collection of different dynamically generated APKs for various device configurations.

If you want to install the.AAB file outside the Play Store, you must first extract the APK files from AAB and manually install them on your Android device.

Unlike traditional .APK files, it is not possible to share or transfer the .AAB file for testing. When you upload the .AAB file to your Google Play Console, an optimized .APK file will be dynamically generated based on the user’s device configurations.

For example, if an Android app has multiple “strings.xml” files for different languages ​​and the default language of the device is English.

An .APK file will be dynamically generated for your device excluding all other language files to reduce the .APK size.

This feature is useful from the user’s perspective, but for developers and testers it added more headaches. Since it is not possible to install an .aab file like APKs, you must first upload it to Play Store for testing or manually generate APK files from Android App Bundle (.AAB) .

Once you have extracted multiple APKs or universal APK files from .AAB, you can install them directly on different device configurations. A not too simple procedure is already available, and in the future it could be updated and optimized, here’s how

How to convert Android App Bundle (.AAB) to APK file

After generating the Android App Bundle from Android Studio or your favorite IDE, you first need to test how the generated APKs behave when deployed to local mobile devices. The quickest way to do this is to convert the .aab file to APK and install it the traditional way with a file manager.

To extract the APK files from the Android App Bundle, we will use the free, open source and command line program bundletool available on GitHub. This tool is used to manipulate the Android App Bundle to generate APK set archive (.apks) files.

Once the “.apks” file has been generated using bundletool, we can extract the APK files by modifying the file in .zip format. Here’s how you can use bundle tool to generate .apks archive files from Android App Bundle and extract .apk files.

Step 1: Download the bundle tool

First,   download the latest version of the bundletool JAR file from GitHub and save it in a folder on your desktop and for simplicity change the file name from  bundletool-all-X.XX.X.jar  to  bundletool.jar so that you can easily searchable.

Step 2: Generate the APK Set Archive (.apks) file from .aab

Copy your Android App Bundle (.aab) file to the same folder where you downloaded bundletool.jar previously.

This is very important and you need to make sure that both the bundletool.jar and .aab file are in the same folder every time you run the command  bundletool.

As shown in the screenshot, the name of the Android App Bundle is  nhl.aab  and both the “bundletool.jar” and “nhl.aab” files are located in the same folder.

Now open Command Prompt (Windows) or Terminal (Mac) and change directory to Desktop folder using  CD command. To generate an APK set archive file (.apks) containing several APK files of all device configurations supported by your app, run the command build-apks as shown below.

java -jar bundletool.jar build-apks --bundle=nhl.aab --output=nhl.apks

  • bundletool.jar  – The name of the .jar file downloaded from GitHub
  • nhl.aab  – The filename of your Android App Bundle
  • nhl.apks  – The name of the output file. It is an .apk file  s  . Do not confuse it with the traditional .apk file (add the “s”)

After executing the above command, a new file with the name ” nhl.apks” will be created in the same folder   . This is an APK archive file that you need to extract with the file compression program where you will get multiple APK files for different device configurations.

Step 3: Extract the APK files

Once the “nhl.apks” file is generated, it is very easy to extract the APK files from the main file. All you have to do is, rename the “  nhl.apks”  file to “ nhl.zip”  and extract it normally using ZIP file extractor like 7Zip, WinRAR or WinZip. You will now find many APK files in separate and standalone folders.

Now that you have successfully converted the .aab file to .apk file and you can install them normally on your device. Technically, this is how you can  install the .aab file on an Android device .

Problems after extracting the APK file from the AAB

Wait, it’s not over yet. Did you notice any problems with the above command? Yes, it is generating a lot of debug APK files and you are not sure which one you need to install? Or you want signed APKs or a universal signed APK from Android App Bundle.

Fortunately, bundletool comes with several flags for extracting the required APK from the .aab file. Here is a table with different flags of bundletool and its use.

Flag State Operation
–Ks = –ks-pass = pass: –ks-key-alias = –key-pass = pass: Optional Keystore Path
Keystore password
Key alias
Key alias password
–Mode = universal Optional To generate a single Universal APK file
–Overwrite Optional Overwrites the output .apks file if same file name exists

Let’s take a look at how to use these flags in conjunction with the bundletool command.

Generate signed APKs using the Keystore

To generate APK files signed with your keystore file, run the following command.

java -jar bundletool.jar build-apks --bundle=nhl.aab --output=nhl.apks --ks=keystore.jks --ks-pass=pass:your_keystore_password --ks-key-alias=your_key_alias --key-pass=pass:your_key_password

This will again generate a “nhl.apks” file and you’ll need to rename it to “nhl.zip” and extract the zip file to see the signed apks in both separate and standalone folders.

Generate universal APKs from Android App Bundle

If you want to generate only one APK from your .aab file, run the following command.

java -jar bundletool.jar build-apks --bundle=nhl.aab --output=nhl.apks --mode=universal

This command will generate the nhl.apks file and again you will need to rename it to nhl.zip and extract it to get the universnal.apk file   .

Overwrite the existing .apks file

If you want to overwrite the old .apks file with the new one, simply add the –overwrite flag to your command as shown below.

java -jar bundletool.jar build-apks --bundle=nhl.aab --output=nhl.apks --overwrite

Extract universal APK file signed by Android App Bundle

Now let’s combine all the above flags to generate a single universal APK file and also overwrite the existing APK archive if it’s already available.

java -jar bundletool.jar build-apks --bundle=nhl.aab --output=nhl.apks --overwrite --mode=universal -ks=keystore.jks --ks-pass=pass:your_keystore_password --ks-key-alias=your_key_alias --key-pass=pass:your_key_password

After running this command, you will need to rename the generated “nhl.apks” file to “nhl.zip” and extract it to find the signed “universal.apk” file.

There are some more advanced as a flag  --device-spec,  --connected-device,  --device-idto generate and install APK Android App Bundle of configurations or specific connected devices. Besides them you also have  extract-apksand  get-size totalcommands for multiple use cases.

You can find more information about them on the Android Developer Bundletool page here .

Conclusion extracting APK files from AAB and Video Guide

Finally, the only possible way to install the Android App Bundle (.AAB) is to upload it directly to the Google Play Store for a test set or use the command bundletoolto convert the .aab file to .apk.

If your app is large and has many active users, use the bundle tool to test the app on different device configurations and roll out updates slowly. However, if your app is new, you may prefer to add the App Bundle in Closed Alpha to collect feedback.

If you didn’t understand or skipped a few steps, here is the video that explains all the steps on how to generate or extract an APK file from the Android App Bundle (AAB) file.