- Home /
AndroidManifest.xml in Temp/Staging not actually being generated, not merging from outside /Assets/Plugins (2018.3.10f1)
I've been chasing some issues around AndroidManifest.xml not generating correctly and thought I'd post here in case anyone else is banging their head against the wall similarly.
- Issue 1: Manifest merge does NOT pick up AndroidManifest.xml files that are outside of /Assets/Plugins/Android/
According to Unity Documentation, Unity will find and merge all your plugins that have their own manifests. I have seen many people claim that this works in any directory which is named "Plugins/Android/", even outside of the main /Assets/Plugins directory.
Notably, this is not true for the latest iteration of GooglePlayGames plugin managed with the PlayServicesResolver, which installs and updates at /Assets/GooglePlayGames/, with its manifest nested in /Assets/GooglePlayGames/Plugins/Android, not inside the /Assets/Plugins/Android folder. (Trying to run the GPGS setup after moving the manifest.xml will also throw an error).
I confirmed this after many attempts at different configs, xml placements, and finally moved the xml under /Assets/Plugins/Android and then it merged. It would be nice if the Unity documentation would be a little more explicit about path requirements on this topic.
UPDATE on ISSUE 1: I added a project.properties file to the /Assets/GooglePlayGames/Plugins/Android/GooglePlayGamesManifest.plugin/ folder, and now Unity picks it up correctly at build time. So this seems to now be a requirement for any random manifests outside of /Assets/Plugins/Android.
- Issues 2: The Temp/StagingArea/AndroidManifest.xml is NOT the final manifest.
Also according to documentation at above link, "To examine the final Android Manifest that Unity has generated for your app, open the Temp/StagingArea/AndroidManifest.xml file after you have built your Project but before exiting the Unity Editor."
This was driving me mad because I could see Unity was in fact generating this file every build, however it wasn't merging ANY of the separate manifests (no errors, no warnings, no info, and yes all the manifests had matching version tags etc.). Finally I cracked open the binary APK in Android Studio and discovered it is being generated correctly inside the .APK. So don't rely on the Temp .xml file, it's apparently arbitrary at least in 2018.3.10f1.
Note: this is using the Gradle build system, not Internal (deprecated) if that makes a difference. Was running into the multi dex problem with too many method counts in all the GPGS plugins.
Your answer
Follow this Question
Related Questions
Wrong data in the Android manifest after build gradle with export in Unity 2018.1 1 Answer
the min sdk version cannot be specified in the androidmanifest.xml file. you have to remove it. 4 Answers
How to Prevent Unity from Adding Permissions to Android Manifest 12 Answers
Distribute terrain in zones 3 Answers