Unity cannot combine Android manifest build error

In my Unity project, I imported plugins: Android Native Plugin and Chartboost.

Before importing the Chartboost Unity package, I can successfully create and run on my Android device. But after importing the Chartboost package, I get this error when I try to build and run.

Here's the build error:

Error building Player: CommandInvokationFailure: Unable to merge android manifests. See the Console for more details. /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir="/Users/user/Library/Android/sdk/tools" -Dfile.encoding=UTF8 -jar "/Applications/Unity/Unity.app/Contents/BuildTargetTools/AndroidPlayer/sdktools.jar" - stderr[ Error: [Temp/StagingArea/AndroidManifest-main.xml:8, /Users/user/Documents/Unity Projects/Unity 5.0.0 projects/mygame/Temp/StagingArea/android-libraries/ChartboostSDK/AndroidManifest.xml:11] Trying to merge incompatible /manifest/application/meta-data[@name=com.google.android.gms.version] element: <meta-data @android:name="com.google.android.gms.version" -- @android:value="6587000"> <meta-data @android:name="com.google.android.gms.version" ++ @android:value="@integer/google_play_services_version"> Error: [Temp/StagingArea/AndroidManifest-main.xml:8, /Users/user/Documents/Unity Projects/Unity 5.0.0 projects/mygame/Temp/StagingArea/android-libraries/google-play-services_lib/AndroidManifest.xml:5] Trying to merge incompatible /manifest/application/meta-data[@name=com.google.android.gms.version] element: <meta-data @android:name="com.google.android.gms.version" -- @android:value="6587000"> <meta-data @android:name="com.google.android.gms.version" ++ @android:value="@integer/google_play_services_version"> ] stdout[ ] 

Still new to Android development, so I'm a little lost. I saw some posts on the Internet about a similar problem, and what I understand is that whenever you use multiple plugins there are also several manifest files, and Unity sometimes cannot combine manifests due to different / conflicting values.

I do not see any values ​​that contradict the error message. How to fix it? Any help is appreciated.

Update: with the help of Max Yankov I can get past the Unable to merge manifests error . But now I got a new error Unable to convert classes into dex format

Here is the log for this error:

 Error building Player: CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details. /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir="/Users/user/Library/Android/sdk/tools" -Dfile.encoding=UTF8 -jar "/Applications/Unity/Unity.app/Contents/BuildTargetTools/AndroidPlayer/sdktools.jar" - stderr[ UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/actions/SearchIntents; at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122) at com.android.dx.dex.file.DexFile.add(DexFile.java:161) at com.android.dx.command.dexer.Main.processClass(Main.java:732) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673) at com.android.dx.command.dexer.Main.access$300(Main.java:83) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) at com.android.dx.command.dexer.Main.processOne(Main.java:632) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280) at com.android.dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at SDKMain.main(SDKMain.java:129) 1 error; aborting ] stdout[ processing archive bin/classes.jar... processing com/unity3d/player/a$1.class... processing com/unity3d/player/a$2.class... processing com/unity3d/player/a$a.class... processing com/unity3d/player/a.class... processing com/unity3d/player/b$1.class... processing com/unity3d/player/b$2.class... processing com/unity3d/player/b.class... processing com/unity3d/player/c.class... processing com/unity3d/player/d$1.class... processing com/unity3d/player/d$2.class... processing com/unity3d/player/d.class... processing com/unity3d/player/e.class... processing com/unity3d/player/f.class... processing com/unity3d/player/g.class... processing com/unity3d/player/h.class... processing com/unity3d/player/i.class... processing com/unity3d/player/j$1.class... processing com/unity3d/player/j$2$1$1.class... processing com/unity3d/player/j$2$1.class... processing com/unity3d/player/j$2.class... processing com/unity3d/player/j.class... processing com/unity3d/player/k$1.class... processing com/unity3d/player/k.class... processing com/unity3d/player/l.class... processing com/unity3d/player/m.class... processing com/unity3d/player/n$1.class... processing com/unity3d/player/n.class... processing com/unity3d/player/NativeLoader.class... processing com/unity3d/player/o.class... processing com/unity3d/player/ReflectionHelper$1.class... processing com/unity3d/player/ReflectionHelper$a.class... processing com/unity3d/player/ReflectionHelper.class... processing com/unity3d/player/p.class... processing com/unity3d/player/q$1.class... processing com/unity3d/player/q$2.class... processing com/unity3d/player/q$3.class... processing com/unity3d/player/q.class... processing com/unity3d/player/r.class... processing com/unity3d/player/s.class... processing com/unity3d/player/UnityPlayer$1.class... processing com/unity3d/player/UnityPlayer$2.class... processing com/unity3d/player/UnityPlayer$3.class... processing com/unity3d/player/UnityPlayer$4.class... processing com/unity3d/player/UnityPlayer$5.class... processing com/unity3d/player/UnityPlayer$6.class... processing com/unity3d/player/UnityPlayer$7.class... processing com/unity3d/player/UnityPlayer$8.class... processing com/unity3d/player/UnityPlayer$9.class... processing com/unity3d/player/UnityPlayer$10.class... processing com/unity3d/player/UnityPlayer$11.class... processing com/unity3d/player/UnityPlayer$12$1.class... processing com/unity3d/player/UnityPlayer$12.class... processing com/unity3d/player/UnityPlayer$13.class... processing com/unity3d/player/UnityPlayer$14.class... processing com/unity3d/player/UnityPlayer$15.class... processing com/unity3d/player/UnityPlayer$16.class... processing com/unity3d/player/UnityPlayer$17.class... processing com/unity3d/player/UnityPlayer$18.class... processing com/unity3d/player/UnityPlayer$a.class... processing com/unity3d/player/UnityPlayer$b.class... processing com/unity3d/player/UnityPlayer$c.class... processing com/unity3d/player/UnityPlayer.class... processing com/unity3d/player/UnityPlayerActivity.class... processing com/unity3d/player/UnityPlayerNativeActivity.class... processing com/unity3d/player/UnityPlayerProxyActivity.class... processing com/unity3d/player/t.class... processing com/unity3d/player/u$1.class... processing com/unity3d/player/u.class... processing com/unity3d/player/WWW.class... processing org/fmod/FMODAudioDevice$a.class... processing org/fmod/FMODAudioDevice.class... processing org/fmod/a.class... processing bin/classes/./com/chartboost/sdk/unity/Manifest$permission.class... processing bin/classes/./com/chartboost/sdk/unity/Manifest.class... processing bin/classes/./com/chartboost/sdk/unity/R$attr.class... processing bin/classes/./com/chartboost/sdk/unity/R$bool.class... processing bin/classes/./com/chartboost/sdk/unity/R$color.class... processing bin/classes/./com/chartboost/sdk/unity/R$dimen.class... processing bin/classes/./com/chartboost/sdk/unity/R$drawable.class... processing bin/classes/./com/chartboost/sdk/unity/R$id.class... processing bin/classes/./com/chartboost/sdk/unity/R$integer.class... processing bin/classes/./com/chartboost/sdk/unity/R$layout.class... processing bin/classes/./com/chartboost/sdk/unity/R$raw.class... processing bin/classes/./com/chartboost/sdk/unity/R$string.class... processing bin/classes/./com/chartboost/sdk/unity/R$style.class... processing bin/classes/./com/chartboost/sdk/unity/R$styleable.class... processing bin/classes/./com/chartboost/sdk/unity/R$xml.class... processing bin/classes/./com/chartboost/sdk/unity/R.class... processing bin/classes/./com/facebook/android/Manifest$permission.class... processing bin/classes/./com/facebook/android/Manifest.class... processing bin/classes/./com/facebook/android/R$attr.class... processing bin/classes/./com/facebook/android/R$bool.class... processing bin/classes/./com/facebook/android/R$color.class... processing bin/classes/./com/facebook/android/R$dimen.class... processing bin/classes/./com/facebook/android/R$drawable.class... processing bin/classes/./com/facebook/android/R$id.class... processing bin/classes/./com/facebook/android/R$integer.class... processing bin/classes/./com/facebook/android/R$layout.class... processing bin/classes/./com/facebook/android/R$raw.class... processing bin/classes/./com/facebook/android/R$string.class... processing bin/classes/./com/facebook/android/R$style.class... processing bin/classes/./com/facebook/android/R$styleable.class... processing bin/classes/./com/facebook/android/R$xml.class... processing bin/classes/./com/facebook/android/R.class... processing bin/classes/./com/google/android/gms/Manifest$permission.class... processing bin/classes/./com/google/android/gms/Manifest.class... processing bin/classes/./com/google/android/gms/R$attr.class... processing bin/classes/./com/google/android/gms/R$bool.class... processing bin/classes/./com/google/android/gms/R$color.class... processing bin/classes/./com/google/android/gms/R$dimen.class... processing bin/classes/./com/google/android/gms/R$drawable.class... processing bin/classes/./com/google/android/gms/R$id.class... processing bin/classes/./com/google/android/gms/R$integer.class... processing bin/classes/./com/google/android/gms/R$layout.class... processing bin/classes/./com/google/android/gms/R$raw.class... processing bin/classes/./com/google/android/gms/R$string.class... processing bin/classes/./com/google/android/gms/R$style.class... processing bin/classes/./com/google/android/gms/R$styleable.class... processing bin/classes/./com/google/android/gms/R$xml.class... processing bin/classes/./com/google/android/gms/R.class... processing bin/classes/./com/test/asdf/Manifest$permission.class... processing bin/classes/./com/test/asdf/Manifest.class... processing bin/classes/./com/test/asdf/R$attr.class... processing bin/classes/./com/test/asdf/R$bool.class... processing bin/classes/./com/test/asdf/R$color.class... processing bin/classes/./com/test/asdf/R$dimen.class... processing bin/classes/./com/test/asdf/R$drawable.class... processing bin/classes/./com/test/asdf/R$id.class... processing bin/classes/./com/test/asdf/R$integer.class... processing bin/classes/./com/test/asdf/R$layout.class... processing bin/classes/./com/test/asdf/R$raw.class... processing bin/classes/./com/test/asdf/R$string.class... processing bin/classes/./com/test/asdf/R$style.class... processing bin/classes/./com/test/asdf/R$styleable.class... processing bin/classes/./com/test/asdf/R$xml.class... processing bin/classes/./com/test/asdf/R.class... processing archive plugins/./an_billing.jar... ignored resource META-INF/MANIFEST.MF processing com/android/vending/billing/IInAppBillingService$Stub$Proxy.class... processing com/android/vending/billing/IInAppBillingService$Stub.class... processing com/android/vending/billing/IInAppBillingService.class... processing com/androidnative/billing/core/AN_BillingProxyActivity$1.class... processing com/androidnative/billing/core/AN_BillingProxyActivity.class... processing com/androidnative/billing/core/BillingHelper$1.class... processing com/androidnative/billing/core/BillingHelper$2$1.class... processing com/androidnative/billing/core/BillingHelper$2.class... processing com/androidnative/billing/core/BillingHelper$3$1.class... processing com/androidnative/billing/core/BillingHelper$3$2.class... processing com/androidnative/billing/core/BillingHelper$3.class... processing com/androidnative/billing/core/BillingHelper.class... processing com/androidnative/billing/core/BillingManager$1.class... processing com/androidnative/billing/core/BillingManager$2.class... processing com/androidnative/billing/core/BillingManager$3.class... processing com/androidnative/billing/core/BillingManager.class... processing com/androidnative/billing/core/listeners/AN_PurchaseFinishedListener.class... processing com/androidnative/billing/core/listeners/AN_QueryInventoryFinishedListener.class... processing com/androidnative/billing/interfaces/OnBillingPurchaseFinishedListener.class... processing com/androidnative/billing/interfaces/OnBillingSetupFinishedListener.class... processing com/androidnative/billing/interfaces/OnConsumeFinishedListener.class... processing com/androidnative/billing/interfaces/OnConsumeMultiFinishedListener.class... processing com/androidnative/billing/interfaces/QueryInventoryFinishedListener.class... processing com/androidnative/billing/models/BillingException.class... processing com/androidnative/billing/models/BillingResult.class... processing com/androidnative/billing/models/Inventory.class... processing com/androidnative/billing/models/Purchase.class... processing com/androidnative/billing/models/Security.class... processing com/androidnative/billing/models/SkuDetails.class... processing com/androidnative/billing/util/Base64.class... processing com/androidnative/billing/util/Base64DecoderException.class... processing archive plugins/./an_googleplay.jar... ignored resource META-INF/MANIFEST.MF processing com/androidnative/an_googleplay/BuildConfig.class... processing com/androidnative/an_googleplay/R$attr.class... processing com/androidnative/an_googleplay/R$drawable.class... processing com/androidnative/an_googleplay/R$id.class... processing com/androidnative/an_googleplay/R$layout.class... processing com/androidnative/an_googleplay/R$string.class... processing com/androidnative/an_googleplay/R$style.class... processing com/androidnative/an_googleplay/R.class... processing com/androidnative/gcm/ANCloudMessageService$1.class... processing com/androidnative/gcm/ANCloudMessageService$2.class... processing com/androidnative/gcm/ANCloudMessageService.class... processing com/androidnative/gcm/GcmBroadcastReceiver.class... processing com/androidnative/gcm/GcmIntentService.class... processing com/androidnative/gms/ad/ANMobileAd.class... processing com/androidnative/gms/ad/AdInAppListner.class... processing com/androidnative/gms/ad/BannerAdListner.class... processing com/androidnative/gms/ad/GADBanner.class... processing com/androidnative/gms/ad/InterstitialAdListner.class... processing com/androidnative/gms/analytics/AN_AnalyticsProxy.class... processing com/androidnative/gms/analytics/V4GoogleAnalytics.class... processing com/androidnative/gms/core/GameClientBridge.class... processing com/androidnative/gms/core/GameClientManager$1.class... processing com/androidnative/gms/core/GameClientManager$2.class... processing com/androidnative/gms/core/GameClientManager$3.class... processing com/androidnative/gms/core/GameClientManager$4.class... processing com/androidnative/gms/core/GameClientManager$5.class... processing com/androidnative/gms/core/GameClientManager.class... processing com/androidnative/gms/core/GameInvitationManager.class... processing com/androidnative/gms/core/GooglePlaySupportActivity$1.class... processing com/androidnative/gms/core/GooglePlaySupportActivity.class... processing com/androidnative/gms/core/NewGameHelper.class... processing com/androidnative/gms/listeners/appstate/StateDeleteListener.class... processing com/androidnative/gms/listeners/appstate/StateUpdateListener.class... processing com/androidnative/gms/listeners/appstate/StatesLoadedListener.class... processing com/androidnative/gms/listeners/games/AchievementsLoadListner.class... processing com/androidnative/gms/listeners/games/AchievementsUpdateListner.class... processing com/androidnative/gms/listeners/games/LeaderBoardScoreLoaded.class... processing com/androidnative/gms/listeners/games/LeaderBoardsLoadedListener.class... processing com/androidnative/gms/listeners/games/PlayerResultListner.class... processing com/androidnative/gms/listeners/games/PlayerScoreUpdateListner.class... processing com/androidnative/gms/listeners/games/ScoreSubmitedListner.class... processing com/androidnative/gms/listeners/network/AN_OnInvitationReceivedListener.class... processing com/androidnative/gms/listeners/network/AN_RealTimeMessageReceivedListener.class... processing com/androidnative/gms/listeners/network/AN_RoomStatusUpdateListener.class... processing com/androidnative/gms/listeners/network/AN_RoomUpdateListener.class... processing com/androidnative/gms/listeners/quests/AN_AcceptQuestResultListner.class... processing com/androidnative/gms/listeners/quests/AN_ClaimMilestoneResult.class... processing com/androidnative/gms/listeners/quests/AN_EventsLoadListner.class... processing com/androidnative/gms/listeners/quests/AN_LoadQuestsResult.class... processing com/androidnative/gms/listeners/quests/AN_QuestUpdateListener.class... processing com/androidnative/gms/listeners/requests/AN_LoadRequestsResultListner.class... processing com/androidnative/gms/listeners/requests/AN_UpdateRequestsResultListner.class... processing com/androidnative/gms/listeners/savedgames/DeleteSnapShotListner.class... processing com/androidnative/gms/listeners/savedgames/DeleteSpapShotResultListner.class... processing com/androidnative/gms/listeners/savedgames/LoadSnapshotsResultListner.class... processing com/androidnative/gms/listeners/savedgames/OpenSnapshotListner.class... processing com/androidnative/gms/listeners/savedgames/SnapshotCreateListner.class... processing com/androidnative/gms/listeners/savedgames/SnapshotMetadataChangeListner.class... processing com/androidnative/<message truncated> 
+5
source share
5 answers

It seems that one of the plugins stores the value of com.google.android.gms.version in AndroidManifest.xml itself, while the other uses a string resource ; I believe that there is an integer.xml file somewhere in the source, and when you find it, the value google_play_services_version will be hidden inside it. com.google.android.gms.version itself seems like a necessary version of Google Play Services; it is reasonable that it will be backward compatible, so I would just choose the largest number of these two. More on this (switch to "Something else" to see configuration details).

+3
source

For your second question:

This is most likely the result of duplicating .jar files in your project.

See this answer for more details.

0
source

it is very simple, you need to go to the folder: \ Assets \ Plugins \ Android. Find all the AndroidManifest.xml files and update the sdk version in accordance with this error.

0
source

1 - (If you are a VR developer), download "tools_r25.2.3-windows.zip" from " https://developer.android.com/studio/index.html ", then replace this tools folder in the Android Studio folder.

2 - You must work with unity version 5.5.0! version 5.6.x does not work really well!

3 - the best version for gvr-unity-sdk (if you are a VR developer) - 1.0.3! The more does not work!

4 - (If you are a VR developer) Right-click on “My Computer” and select “Properties” / Go to “Advanced System Settings” / “Environment Variables” / “System Variables” find “Path” then click “Change” . In the "value of the variable" add a semicolon (;) to the end of the default path, then add the path where you install the Android Studio / platform-tools folder, for example, my path "G: \ AndroidSDK \ platform-tools". ......

I hope your problem is resolved.

0
source

Hi guys, I had exactly the same problem, and in the Unity theme, I mean this link and this link that says to update and change the API level and keep track of crap, I also highly recommend updating android SKD and setting JAVA_HOME and ANDROID_HOME in system variables like me in the following figure

enter image description here

and set the path variables for adb.exe and java.exe on your system like this

enter image description here

BUT I tried to fix my problem: I changed the build system to a new Gradle ! and it's all.

enter image description here

Hooray =)

0
source

All Articles