This guide describes how to upload Android App Bundles (AABs) to App Distribution and distribute generated APKs using the Firebase console.
App Distribution integrates with Google Play’s internal app sharing service to process the AABs you upload and serve APKs that are optimized for your testers' device configurations. Distributing AABs lets you do the following:
Run optimized APKs (served by Google Play) that are optimized to your testers' devices.
Uncover and debug device-specific issues.
Reduce the size of downloads for your testers.
To upload AABs to App Distribution, you must link your Firebase app to an app in Google Play. You must have the required level of access to perform these actions.
If you don't have the necessary Firebase access, you can ask a Firebase project Owner to assign you the applicable role via the Firebase console IAM settings. If you have questions about accessing your Firebase project, including finding or assigning an Owner, review the "Permissions and access to Firebase projects" FAQs.
The following table applies to linking a Firebase app to an app in Google Play, as well as uploading AABs.
|Action in Firebase console
|Required IAM permission
|IAM role(s) that include required permissions by default
|Additional required role(s)
|Link a Firebase app to an app in Google Play
|One of the following roles:
|Access to a Google Play developer account as Admin
|Upload AABs to App Distribution
|One of the following roles:
Before you begin
If you haven't already, add Firebase to your Android project. At the end of this workflow, you'll have a Firebase Android App in your Firebase project.
If you aren't using any other Firebase products, you only need to create a project and register your app. If you decide to use additional products, be sure to complete all of the steps in Add Firebase to your Android project.
To create a Firebase link to Google Play and to upload AABs, make sure that your app meets the following requirements:
The app in Google Play and the Firebase Android app are both registered using the same package name.
The app in Google Play is set up on the app dashboard and is distributed to one of the Google Play tracks (Internal testing, Closed testing, Open testing, or Production).
The app's review in Google Play is complete and the app is published. Your app is published if the App status column displays one of the following statuses: Internal testing (not Draft internal testing), Closed testing, Open testing, or Production.
Link your Firebase Android App to your Google Play developer account:
In the Firebase console, go to your
, then select the Integrations tab. Project settings
On the Google Play card, click Link.
If you already have links to Google Play, click Manage instead.
Follow the on-screen instructions to enable the App Distribution integration and select which Firebase Android Apps to link to Google Play.
Learn more about linking to Google Play.
Step 1. Build your app
When you're ready to distribute a pre-release version of your app to testers, build your AAB (visit the Android Studio documentation for instructions).
Step 2. Distribute your app to testers
To distribute your app to testers, upload your AAB file using the Firebase console:
Open the App Distribution page of the Firebase console. Select your Firebase project when prompted.
On the Releases page, select the app you want to distribute from the drop-down menu.
Drag your app's AAB file to the console to upload it.
When the upload completes, specify the tester groups and individual testers you want to receive the build. Then, add release notes for the build.
See Manage testers for more on creating tester groups.
Click Distribute to make the build available to testers. The tester automatically receives an email invitation to test the app.
(Optional) To share links to specific releases with testers who have access to those releases, click the Link icon to copy the release link to the clipboard.
Once you distribute your build, it becomes available in the App Distribution dashboard of the Firebase console for 150 days (five months). When the build is 30 days from expiring, an expiration notice appears in both the console and your tester's list of builds on their test device.
Testers who haven't been invited to test the app receive email invitations to get started, and existing testers receive email notifications that a new build is ready to test. For instructions on how to install the test app, see Get set up as a tester with App Distribution. You can monitor the status of each tester-whether they accepted the invitation and whether they downloaded the app-in the Firebase console.
Testers have 30 days to accept an invitation to test the app before it expires. When an invitation is 5 days from expiring, an expiration notice appears in the Firebase console next to the tester on a release. An invitation can be renewed by resending it using the drop-down menu on the tester row.
Implement in-app feedback to make it easy for testers to send feedback about your app (including screenshots).
Learn how to display in-app alerts to your testers when new builds of your app are available to install.
Learn best practices for distributing Android apps to QA testers using CI/CD.