The Android App Bundle (AAB) publishing format includes an app’s compiled code and resources as well as defers APK generation and signing to Google Play. Introduced in 2018, Google Play uses the app bundle to generate and optimize APKs for distribution for different device configurations and languages. This makes your app smaller and faster to download, which can lead to more installs.
AABs supersede the Android application package (APK) format and as of August 2021, Google Play requires all new apps to be published as AABs. Fortunately, migrating from the APK format to AAB is not too difficult. There are two steps: generating an AAB binary and configuring Play signing in Google Play.
Generating an AAB in Android Studio
To create an AAB binary locally using Android Studio, open the Build menu, then choose “Generate Signed Bundle / APK.” Follow the prompts to sign the AAB with your keystore file. For complete details, view the Android documentation.
Generating an AAB in the Cloud with Appflow
Using Appflow, Ionic’s mobile CI/CD service? You’re already covered. The Native Builds feature automatically creates an APK and an AAB binary for you, and with Deploy to App Stores, an AAB binary can be automatically sent to Google Play as well. To find the AAB binary, navigate to a successful Android build then find the AAB to download under the Artifacts section:
Google Play Signing
If you haven’t made the switch to Android app bundles yet, you will need to opt into Play App Signing in the Google Play Console to be able to publish them.
First, create a new app in the Google Play Console. In order to enable app signing, you’ll need to navigate to the new release screen, on one of the Production, Open testing, closed testing, or internal testing pages.
Select the Create new release button as seen below (it doesn’t matter which release type, since you don’t have to actually go through with creating a new release right now):
Under the App integrity section, click the Change app signing key button:
Next, select the Export and upload a key from Java Keystore option. This is the only way in which you can retain the key and have Google Play use it for signing. If you’re using Appflow to build Android apps in the cloud, this is also the required option so you can upload the keystore file to Appflow.
Follow the instructions on the screen to generate the Keystore and you can use the same Keystore file to sign your app in the Appflow dashboard as well. If you need any help generating the Keystore file, you can refer to our docs here.
Once the generated zip file has been uploaded, you’re all set! Build an AAB binary signed with the keystore file then upload it to Google Play.
As of now, existing apps aren’t required to use the AAB format, but you can still enroll them using Play App signing.
To opt into app signing, you’ll need to upload the app signing key used to sign previous releases of the app. Navigate to Setup -> App integrity, then choose one of the two methods seen in the screenshot below. Once the key has been uploaded, you can enroll in Play App Signing.
Migrate to AAB Format Today
With smaller app sizes, improved performance, and enhanced security, the AAB binary format is a win for app developers and users alike. If you have an existing Android app using the APK format, consider migrating to AAB to take advantage of all the great features it provides.
If you run into any migration issues and are an Appflow customer, please contact Appflow support for further assistance. Happy app building!