Google Play Store Deployment

We allow you to seamlessly deploy your apps directly to the Google Play Store, all from within our builder.


  1. Test your application on a real device.

  2. Confirm the app details. Especially the package name, which can't be changed after your app is deployed.

  3. Set an App Launcher Icon. The App Launcher icon can't be transparent or contain an alpha channel.

Deploy to Google Play Store

Deploying to Google Play Store comprises of the following steps:

1. Creating an app on Google Play Store

To create an app on Google Play Store:

  1. Click on the Create app button at the top right side of your screen.

  2. Enter the App name, select the app type, and choose whether the app is Free or Paid.

  3. Accept the Declarations.

  4. Click Create app at the bottom.

2. Set up your app

To successfully deploy the app, you must fill in all the app details required by the Google Play Store.

To do so:

  1. Select your newly created app from the list below.

  2. Scroll down to the Set up your app section, and expand the View tasks section.

  3. Click on each task and provide the app information.

3. Adding service account credentials

Adding Service Account Credentials to FlutterFlow helps publish applications to Google Play.

3.1 Creating a Service Account

To create the Service Account, you can follow the instructions from here.

To help you get started quickly, here are the exact steps you need to follow:

  1. If you haven't set up Firebase in your app, you'll need to create a Google Cloud Project.

  2. Then, head over to the Google Play Developer API page in Google Cloud Console and click Enable.

  3. In Google Cloud Console, go to Service Accounts, click + CREATE SERVICE ACCOUNT, and follow the steps as per in the visual below.

  1. On the right side of the newly created service account, click the action menu (three dots) icon and select Manage keys. Then, click ADD Key -> Create new key -> select JSON -> CREATE. Keep the downloaded file at safe place.

  1. Now, return to the Google Play Console and follow the steps below:

    1. Go to the Users & Permissions page.

    2. Click Invite new users.

    3. Put the email address for your service account in the email address field and grant the necessary rights to perform actions:

      • "Edit and delete draft apps"

      • "Release to production..."

      • "Release apps to testing tracks"

      • "Manage testing tracks and edit tester lists"

    4. Click Invite user.

3.2 Uploading service account credentials to FlutterFlow

To upload the service account credentials on FlutterFlow:

  1. Return to FlutterFlow, navigate to Settings & Integrations > App Settings > Mobile Deployment, and scroll down to the Google Play Store section.

  2. Under the Service Account Credentials, Click on Upload Credentials and select the downloaded credential, i.e., the .json file in the previous step no.4.

4. Deploy to Google Play Store

To enable FlutterFlow to deploy your app to the Google Play Store on your behalf for the first time, you have to download the .AAB file from FlutterFlow and upload it to the Internal Testing Track on the Google Play Store.

Once the Internal Testing track is ready (with .AAB file), FlutterFlow can handle the subsequent releases.

4.1 Getting the AAB (App Bundle) file

To get the AAB file:

  1. Set the Google Play Track to Internal and hit Deloy to Play Store.

  2. Wait for a couple of minutes and then click Check Build Status. If you don't see the AAB APK options yet, wait for some time.

  3. Click on the AAB to download the .aab file.

You need to perform this step only for fresh deployment (i.e., first-time setup).

4.2 Creating a testing track

While you can certainly release your app directly to the Production Track, it's advisable to first release it within your team using the Internal Testing Track.

Open the Google Play Console, and create the testing track as per in the visual below:

4.3 Deploy

You can now deploy directly from FlutterFlow or from your GitHub repository.

  • Every time you deploy, we'll auto increment the 'Build Number' (i.e., version code in Android). If needed, you can update the App Version and Build Number yourself.

  • We'll auto-generate and sign your app for the release with the Keystore (i.e., upload key). If you wish to download the keystore, click the orange key button.

Ensure the Google Play Track is set to Internal and hit the Deloy to Play Store again. On successful deployment, you will see the status as 'finished'.

4.4 Verify deployment

To verify that the app is deployed to Play Console:

  1. Open the Internal testing in Google Play Console.

  2. Under the Releases section, find your release and click on the Show Summary button.

  3. See the Version Codes number is increased.

4.5 Deploy to production

To deploy your app to production:

  1. Open the Internal testing in Google Play Console.

  2. Under the Releases section, find and click on the Promote Release dropdown.

  3. Select the Production. This will create the Production track and you can continue to release your app from there onwards.

  4. Next time onwards in FlutterFlow, you can publish directly to the Production track by setting the Google Play Track to Production.

Advanced Settings

Upload Keystore

If you've previously deployed an app to the Play Store using your own keystore file, you must enable this option. Once enabled, proceed to Upload Keystore file and provide the Keystore Alias.

Changes not sent for review

If you face an error that says 'Changes cannot be sent for review automatically', enable this option and retry deployment.

Submit as draft

While deploying, if your app is still in draft mode, meaning it is not available on the Play Store yet, you may encounter an error message stating, 'Only releases with the status draft may be created on a draft app.'

To resolve this, enable this option, and you'll see that the release will be created as a draft. You'll then need to manually roll out the app.


I am having an issue while Deploying from a GitHub branch

If you are experiencing problems deploying or uploading to the Google Play Store and are deploying from a Github branch, check to make sure your build.gradle file is correct.

  1. Open your android/app/build.gradle file.

  2. Ensure your file has these lines of code:

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
  1. Newer Flutterflow code will automatically have these lines added. If yours doesn't, you can push it to your flutterflow branch on GitHub and merge in the changes or add them like so:

  1. Lastly, change debug (shown in the red box above) to release before deploying.

Last Updated Date: October 11, 2023

Last updated