简体   繁体   中英

How to merge several manifests for Unity 3D (unable to merge Android manifests)?

Full error message:

    CommandInvokationFailure: Unable to merge android manifests. See the Console for more details.
C:/Program Files/Java/jdk1.8.0_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Android/SDK\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[

]
stdout[
Warning: [Temp\StagingArea\AndroidManifest-main.xml:12, E:\GoogleVRForUnityTest\Temp\StagingArea\android-libraries\gvr-permissionsupport-release\AndroidManifest.xml:3] Main manifest has <uses-sdk android:targetSdkVersion='23'> but library uses targetSdkVersion='24'
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()

PlayerSettings:

  • Minimum API Level - 19, maximum - 23. Both are present in Android SDK. Tried to change min API level to something different - nothing.
  • VirtualRealitySDK's set to Cardboard.

I have different MIN and max API levels in different manifests in project's folder (see picture below). The right ones - only in AndroidManifest-main. The others set to wrong levels. I tried to edit them, but after new building attempt they returns as they were. I tried to remove them , leaving only one manifest - also doesn't help.

Please, help me to merge them.

Your library uses target API level 24 where your project uses API level 23. So you need to set your project target API level 24. Different target levels from multiple manifest won't merge. Since your library uses higher target API level, your project's target API level should match with that.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM