New Feature: Publish Android App Bundles

In August 2021, Google Play will require that all new apps are published as Android App Bundles (AAB) instead of APK. When building an Android app as a single APK, all the code and resources are included so that the app will work on any device. This is good for our users since they can share the app offline. However, for most users who are installing from Google Play, the extra code and resources waste space on their device. By publishing an AAB, Google can deliver just the code and resources needed for a device. This is only for new apps. Existing apps can continue to publish APKs.

Scriptoria has been updated to support publishing Android App Bundles. When Google Play’s requirement goes into affect, the workflows will be changed to require new apps to be published in Android App Bundle format.

The instructions in the workflow forms have been updated to say what has to be done with Android App Bundles. An APK is still built to be used for testing during the Verify and Publish step of the workflow.

App Signing

You may get a warning when upload the AAB about the keystore used to sign the app:

For new apps, Android App Bundles must be signed with an RSA key.

If you are using a “old” key, you will need to create a new upload keystore to sign AABs during the build. This can be done in the App Builder using Tools > Create New KeyStore…

See Use Play App Signing for more details on how this will affect how apps are signed.

Testing AAB

If you want to use the AAB to test you app (since that is what is actually being published), it is possible but takes some extract steps. When the app is installed from Google Play to a device, it actually generates 1 or more APKs (depending on the Android version of the device) that are specific to that device. This process can be simulated by a Google library called bundletool. A link to a document explaining how to do this is provided in the Verify and Publish step of the workflow.

Early Opt In

To opt in to using Android App Bundles before it is required for all new apps, you can set BUILD_ANDROID_AAB to 1 in the publishing properties in the App Builder.

Thanks for the update and helpful instructions, Chris!