Unity无法合并Android清单构建错误

时间:2015-05-02 09:35:24

标签: android unity3d

在我的Unity项目中,我导入了插件:Android Native Plugin和Chartboost。

在导入Chartboost统一包之前,我可以在我的Android设备上成功构建和运行。但是在导入Chartboost包之后,当我尝试构建和运行时,我收到此错误。

这是构建错误:

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[

]

Android开发还是新手,所以我有点迷失方向。我在网上看过一些关于类似问题的帖子,据我所知,每当使用多个插件时,也会有多个清单文件,由于不同/冲突的值,Unity有时无法合并清单。

我没有看到错误消息中存在任何冲突的值。我该如何解决?非常感谢任何帮助。

更新:在Max Yankov的帮助下,我能够超越Unable to merge manifests error。但我现在收到一个新错误Unable to convert classes into dex format

这是该错误的日志:

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>

4 个答案:

答案 0 :(得分:0)

关于你的第二个问题:

这很可能是因为您的项目中存在重复的.jar文件。

有关详细信息,请参阅this answer

答案 1 :(得分:0)

非常简单,您需要导航到位置:\ Assets \ Plugins \ Android。找到所有AndroidManifest.xml文件并根据给定的错误更新sdk版本。

答案 2 :(得分:0)

1 - (如果您是VR开发人员)从“https://developer.android.com/studio/index.html”下载“tools_r25.2.3-windows.zip”,然后将其替换为Android Studio文件夹中的tools文件夹!!!

2 - 您应该使用统一版本5.5.0!版本5.6.x不能很好用!!

3 - gvr-unity-sdk的最佳版本(如果你是VR开发者)是1.0.3!越大越好不行!!!

4 - (如果您是VR开发人员)右键单击“我的电脑”并选择“属性”/进入“高级系统设置”/单击“环境变量”/在“系统变量”中查找“路径”单击然后单击“编辑”。在“变量值”中,在默认路径的末尾添加分号(;),然后添加安装Android Studio / platform-tools文件夹的路径,例如我的路径是“G:\ AndroidSDK \ platform-tools”。 ......

我希望你的问题能够解决!!!

答案 3 :(得分:0)

大家好,我遇到了一个完全类似的问题,我的Unity线程是link,这个one说的是更新和更改API级别并跟进废话,我也强烈建议更新android SKD并在下图中的我这样的系统变量中设置JAVA_HOME和ANDROID_HOME

enter image description here

并像这样在系统中设置adb.exe和java.exe的路径变量

enter image description here

但我尝试解决的问题是我将构建系统更改为新的 Gradle !就是这样。

enter image description here

干杯=)