Skip to main content
Version: v7

Android Play Store Deployment

If you are using Capacitor, you can additionally refer to the Capacitor documentation for Deploying to Google Play.

Generating a release build of an app

To generate a release build for Android, build your web app and then run the following cli command:

npx cap copy && npx cap sync

This will copy all web assets and sync any plugin changes.

Next, open Android studio:

npx cap open android

Signing an APK

To create an AAB binary locally using Android Studio:

  • Open the Build menu
  • Choose Generate Signed Bundle / APK
  • Follow the prompts to sign the AAB with your keystore file

For complete details, view the Android documentation.

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.

New Apps

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):

Select create new release in Google Play Console's Production tab

Under the App integrity section, click the Change app signing key button:

Select change app signing key in Google Play Console's Production tab

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.

Uploading a keystore file to Google Play Console

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.

Existing Apps

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.

App integrity setup in Google Play Console

tip

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.

Submitting an app to the Google Play Store

Now that a release AAB/APK has been generated, a Play Store listing can be written and the AAB/APK can be uploaded.

To start, visit the Google Play Store Developer Console and create a new developer account.

note

Making a developer account with Google Play costs $25 USD.

Once a developer account has been created, go ahead and click the Create an Application

Create an App button

Be sure to fill out the description for the app along with providing screenshots and additional info. When ready, upload the signed release AAB/APK that was generated and publish the app.

Updating an app

As an app evolves, it will need to be updated with new features and fixes. An app can be updated by either submitting a new version to the Google Play Store, or by using a live update service like Appflow's Live Update feature. Using Live Updates, changes can be pushed directly to users from the Appflow dashboard, without submitting changes to the Play Store. Learn more about Live Updates here.

note

In order for the Google Play Store to accept updated AAB/APK, the android/app/build.gradle file will need to be edited to increment the versionCode value, then rebuild the app for release following the instructions above.