Use a release audience restriction to limit your app's distribution
Stay organized with collections
Save and categorize content based on your preferences.
You can greatly reduce the chances of accidentally distributing a version of
your app that isn't ready yet by using a release audience restriction in your
app bundle or APK. You can use this to prevent a build from being released to
production users through Play Console, or even from being distributed through
Play Console at all.
Release audience restrictions usage
To use a release audience restriction, you must add a <meta-data> element to
the <application> element in your AndroidManifest.xml file. This element
controls how far the distribution of the build can progress.
The <meta-data> tag must have its android:value attribute set to the empty
string, and the android:name attribute must be one of the following values:
The app bundle or APK can be uploaded to Play Console and distributed to
users through Internal App Sharing or any testing track, including open
testing. It cannot be included in a release on the
Production track.
This is intended to prevent accidental release
of test versions of apps to production users.
The app bundle or APK can be uploaded to Play Console and distributed to
users through Internal App Sharing or any closed testing track. It
cannot be included in a release on the Production or
Open Testing tracks.
This is intended to prevent accidental
release of test versions of apps to a large number of users.
The app bundle or APK can be uploaded to Play Console and distributed to
users through Internal App Sharing or the Internal Test Track. It
cannot be included in a release on the Production,
Open Testing, or Closed Testing tracks.
This is intended to
prevent accidental release of test versions of apps outside your
immediate team.
The app bundle or APK cannot be uploaded to or distributed through Play
Console.
This is intended to prevent releasing development-only
versions of apps to any users. For example, a build which has key
security features disabled for easier debugging.
For example, to prevent a build being released to production users, update your
AndroidManifest.xml file as follows:
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-07-21 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-21 UTC."],[],[],null,["# Use a release audience restriction to limit your app's distribution\n\nYou can greatly reduce the chances of accidentally distributing a version of\nyour app that isn't ready yet by using a release audience restriction in your\napp bundle or APK. You can use this to prevent a build from being released to\nproduction users through Play Console, or even from being distributed through\nPlay Console at all.\n\nRelease audience restrictions usage\n-----------------------------------\n\nTo use a release audience restriction, you must add a `\u003cmeta-data\u003e` element to\nthe `\u003capplication\u003e` element in your `AndroidManifest.xml` file. This element\ncontrols how far the distribution of the build can progress.\nThe `\u003cmeta-data\u003e` tag must have its `android:value` attribute set to the empty\nstring, and the `android:name` attribute must be one of the following values:\n\n| Name | Effect |\n|-----------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` com.google.android.play.largest_release_audience.NONPRODUCTION ` | The app bundle or APK can be uploaded to Play Console and distributed to users through Internal App Sharing or any testing track, including open testing. It **cannot** be included in a release on the Production track. This is intended to prevent accidental release of test versions of apps to production users. |\n| ` com.google.android.play.largest_release_audience.CLOSED_TESTING ` | The app bundle or APK can be uploaded to Play Console and distributed to users through Internal App Sharing or any closed testing track. It **cannot** be included in a release on the Production or Open Testing tracks. This is intended to prevent accidental release of test versions of apps to a large number of users. |\n| ` com.google.android.play.largest_release_audience.INTERNAL_TESTING ` | The app bundle or APK can be uploaded to Play Console and distributed to users through Internal App Sharing or the Internal Test Track. It **cannot** be included in a release on the Production, Open Testing, or Closed Testing tracks. This is intended to prevent accidental release of test versions of apps outside your immediate team. |\n| ` com.google.android.play.largest_release_audience.STOPSHIP ` | The app bundle or APK cannot be uploaded to or distributed through Play Console. This is intended to prevent releasing development-only versions of apps to any users. For example, a build which has key security features disabled for easier debugging. |\n\n| **Note:** Because the restriction is built into your app bundle or APK, you can only change it by compiling a new build of your app with a new versionCode.\n\nFor example, to prevent a build being released to production users, update your\n`AndroidManifest.xml` file as follows: \n\n \u003cmanifest ... \u003e\n \u003capplication ... \u003e\n ...\n \u003cmeta-data\n android:name=\"com.google.android.play.largest_release_audience.NONPRODUCTION\"\n android:value=\"\" /\u003e\n \u003c/application\u003e\n \u003c/manifest\u003e\n\n| **Important:** The `\u003cmeta-data\u003e` element must be a direct child of the `\u003capplication\u003e` element in order for it to be detected by Google Play. It won't be detected if it is part of an `\u003cactivity\u003e` or `\u003cservice\u003e` element. If there are multiple restrictions in your application manifest, then the most restrictive will be applied.\n| **Tip:** If you have an Android library that adds some optional features for testing or internal debugging, you can add the restriction to the library's manifest. Any build which includes the library will then automatically include the release audience restriction."]]