如何为 Unity 3D 合并多个清单(无法合并 Android 个清单)?
How to merge several manifests for Unity 3D (unable to merge Android manifests)?
完整错误信息:
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()
播放器设置:
- 最低 API 等级 - 19,最高 - 23。两者都存在于 Android
开发工具包。试图将最低 API 级别更改为不同的级别 - 没有。
- VirtualRealitySDK 设置为 Cardboard。
我在项目文件夹的不同清单中有不同的 MIN 和 max API 级别(见下图)。正确的 - 仅在 AndroidManifest-main.其他设置错误的水平。我试图编辑它们,但在尝试新建筑后,它们 returns 照原样。我试图删除它们,只留下一个清单 - 也无济于事。
请帮我合并它们。
您的库使用目标 API 级别 24,而您的项目使用 API 级别 23。因此您需要将项目目标设置为 API 级别 24。来自多个清单的不同目标级别不会合并。由于您的库使用更高的目标 API 级别,您的项目的目标 API 级别应与之匹配。
完整错误信息:
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()
播放器设置:
- 最低 API 等级 - 19,最高 - 23。两者都存在于 Android 开发工具包。试图将最低 API 级别更改为不同的级别 - 没有。
- VirtualRealitySDK 设置为 Cardboard。
我在项目文件夹的不同清单中有不同的 MIN 和 max API 级别(见下图)。正确的 - 仅在 AndroidManifest-main.其他设置错误的水平。我试图编辑它们,但在尝试新建筑后,它们 returns 照原样。我试图删除它们,只留下一个清单 - 也无济于事。
请帮我合并它们。
您的库使用目标 API 级别 24,而您的项目使用 API 级别 23。因此您需要将项目目标设置为 API 级别 24。来自多个清单的不同目标级别不会合并。由于您的库使用更高的目标 API 级别,您的项目的目标 API 级别应与之匹配。