Go to console

Distribute Android apps to testers using the Firebase CLI

You can distribute builds to testers using the Firebase CLI. The CLI tool lets you specify testers and release notes for a build, and distributes the build accordingly.

Before you begin

If you haven't already, add Firebase to your Android project.

If you aren't using any other Firebase products, you only have to create a project and register your app. However, if you decide to use additional products in the future, be sure to complete all of the steps on the page linked above.

1. Build your app

When you're ready to distribute a pre-release version of your app to testers, build an APK using your normal process. You must sign the APK with your debug key or app signing key.

2. Distribute your app to testers

To distribute your app to testers, upload the APK file using the Firebase CLI:

  1. Install or update to the latest version of the Firebase CLI (we recommend downloading the standalone binary for the CLI specific to your OS). Make sure to sign in and test that you can access your projects.
  2. In the App Distribution page of the Firebase console, select the app you want to distribute, then click Get started.
  3. Run the appdistribution:distribute command to make the build available to testers. Use the following parameters to configure the distribution:

    appdistribution:distribute options
    --app

    Required: Your app's Firebase App ID. You can find the App ID in the Firebase console, on the General Settings page.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --release-notes
    --release-notes-file

    Release notes for this build.

    You can either specify the release notes directly:

    --release-notes "Text of release notes"

    Or, specify the path to a plain text file:

    --release-notes-file /path/to/release-notes.txt
    --testers
    --testers-file

    The email addresses of the testers you want to invite.

    You can specify the testers as a comma-separated list of email addresses:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    Or, you can specify the path to a plain text file containing a comma-separated list of email addresses:

    --testers-file="/path/to/testers.txt"
    --groups
    --groups-file

    The tester groups you want to invite (refer to Manage testers). Groups are specified using group aliases, which you can look up in the Firebase console.

    You can specify the groups as a comma-separated list:

    --groups "qa-team, trusted-testers"

    Or, you can specify the path to a plain text file containing a comma-separated list of group names:

    --groups-file="/path/to/groups.txt"
    --debug

    A flag you can include to print verbose log output.

    For example:

    firebase appdistribution:distribute test.apk  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    Testers who haven't been invited to test the app receive email invitations to get started. Existing testers receive email notifications that a new build is ready to test.

After you distribute a new build, you can monitor the status of each tester—whether they accepted the invitation and whether they downloaded the app—in the Firebase console.