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.
UPDATE (8/5/21): When publishing a new app, Google Play is failing during the Create App Store Entry step if you use a keystore that was used to sign an existing APK in Google Play. You will need to give us a new keystore to add to your store and you will have to set BUILD_KEYSTORE in your publishing properties. See Publishing Properties documentation for further details on this property.
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.
UPDATE (8/3/21): Since the writing of the article, we decided to also create an APK for testing. You shouldn’t need to test with the AAB. One thing to note, if you have the “Share installer file” feature turned on, it will be available in the APK, but it will not be available in the AAB.
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.