The Android App Manifest contains information about an Android application. Each application has a single Android App Manifest XML file at the root of the source set called
AndroidManifest.xml. The Android operating system and digital distribution services (for example, Google Play) use Android App Manifests to find information, such as the application’s name, the application’s entry point, Android version support, hardware features support, and application permissions. For more information about the Android App Manifest file, and for a list of settings that it configures, see the Android Developer documentation on Android App Manifests.
To generate an Android App Manifest to represent an application, Gradle merges manifest files from a variety of sources. This includes:
For information on how Unity uses these manifest files to generate an Android App Manifest, see Generating an Android App Manifest.
The Android application build process generate an Android App Manifest file for the application. To do this:
Important: You cannot edit the Android App Manifest file in the APK or AAB. For information on how to override the contents of an Android App Manifest, see Overriding an Android App Manifest.
Unity automatically adds the necessary permissions to the manifest based on the Android Player Settings and Unity APIs that your applications calls from C# scripts. For example:
If a plug-in requires a permission that is declared in its manifest, Unity automatically adds the permission to the final Android App Manifest during the Gradle merge stage. Note that Unity includes all Unity APIs that the plug-ins use in the permissions list.
For more information about permissions, see Android developer documentation on Android App Manifest Permissions.