使用Unity 2018 beta制作Android版本
我已经安装了sdkjdk,并将它们作为外部工具添加到Unity中,从纸面上看一切正常,但当我尝试构建它时失败了 我有avdmanager在它正在寻找的位置,所以我完全困惑。救命啊 我在控制台中遇到以下错误:使用Unity 2018 beta制作Android版本,android,unity3d,Android,Unity3d,我已经安装了sdkjdk,并将它们作为外部工具添加到Unity中,从纸面上看一切正常,但当我尝试构建它时失败了 我有avdmanager在它正在寻找的位置,所以我完全困惑。救命啊 我在控制台中遇到以下错误: CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. /Users/mickeycreative/sdk/tools/bin/
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct.
/Users/mickeycreative/sdk/tools/bin/avdmanager list target -c
stderr[
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.AvdManagerCli.parseSdk(AvdManagerCli.java:328)
at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:204)
at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:195)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 6 more
]
stdout[
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunAndroidSdkTool (System.String toolName, System.String arguments, Boolean updateCommand, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.ListTargetPlatforms (UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
UnityEditor.Android.AndroidSDKTools.GetTopAndroidPlatformAvailable (UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKPlatformDetector.GetVersion (UnityEditor.Android.AndroidSDKTools sdkTools)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector.Detect (UnityEditor.Android.AndroidSDKTools sdkTools, System.Version minVersion, UnityEditor.Android.PostProcessor.ProgressHandler onProgress)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (System.Version minVersion, UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector detector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (Int32 minVersion, UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector detector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
CommandInvokationFailure:无法列出目标平台。请确保android sdk路径正确。
/用户/mickeycreative/sdk/tools/bin/avdmanager列表目标-c
斯特德尔[
线程“main”java.lang.NoClassDefFoundError中出现异常:javax/xml/bind/annotation/XmlSchema
位于com.android.repository.api.SchemaModule$SchemaModule版本。(SchemaModule.java:156)
位于com.android.repository.api.SchemaModule(SchemaModule.java:75)
位于com.android.sdklib.repository.AndroidSdkHandler.(AndroidSdkHandler.java:81)
位于com.android.sdklib.tool.avdmanagerli.parseSdk(avdmanagerli.java:328)
在com.android.sdklib.tool.avdmanagerci.run(avdmanagerci.java:204)上
位于com.android.sdklib.tool.avdmanagerli.main(avdmanagerli.java:195)
原因:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema
位于java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
位于java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
位于java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
…还有6个
]
stdout[
]
退出代码:1
UnityEditor.Android.Command.WaitForProgramToRun(UnityEditor.Utils.Program p,UnityEditor.Android.WaitingForProcessToExit WaitingForProcessToExit,System.String errorMsg)
UnityEditor.Android.Command.Run(System.Diagnostics.ProcessStartInfo psi,UnityEditor.Android.WaitingForProcessToExit WaitingForProcessToExit,System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunAndroidSdkTool(System.String工具名、System.String参数、布尔更新命令、UnityEditor.Android.WaitingForProcessToExit WaitingForProcessToExit、System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.listTargetPlatform(UnityEditor.Android.WaitingForProcessToExit WaitingForProcessToExit)
UnityEditor.Android.AndroidSDKTools.GetTopAndroidPlatformAvailable(UnityEditor.Android.WaitingForProcessToExit WaitingForProcessToExit)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidDK+SDKPlatformDetector.GetVersion(UnityEditor.Android.AndroidDKTools sdkTools)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidDK+SDKComponentDetector.Detect(UnityEditor.Android.AndroidDKTools sdkTools,System.Version minVersion,UnityEditor.Android.PostProcessor.ProgressHandler onProgress)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidDK.EnsureSDKComponentVersion(System.Version minVersion,UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidK.EnsureSDKComponentVersion(Int32 minVersion,UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute(UnityEditor.Android.PostProcessor.PostProcessor.context上下文)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks(UnityEditor.Android.PostProcessor.PostProcessorContext上下文)
gui实用程序:ProcessEvent(Int32,IntPtr)
我遇到了类似的问题,并通过使用较旧的sdk版本解决了它。也许这会有所帮助:)我遇到了类似的问题,并通过使用旧的sdk版本解决了它。也许这会有所帮助:)我为此做了很多努力,并找到了解决办法
问题:出现此故障的主要原因是Unity调用的Android工具与Java 9+不兼容。如果全局Java_主页仍然指向Java 9+版本,那么在Unity首选项(外部工具)中指向Java 8 JDK是不够的
解决方案:将全局JAVA_HOME更改为指向JDK 8虚拟机(如果您不需要JAVA 9或10,也可以将其删除,这样您的系统就只依赖JAVA 8)我为此做了很多努力,并找到了一个解决方案 问题:出现此故障的主要原因是Unity调用的Android工具与Java 9+不兼容。如果全局Java_主页仍然指向Java 9+版本,那么在Unity首选项(外部工具)中指向Java 8 JDK是不够的
解决方案:将全局JAVA_HOME更改为指向JDK 8虚拟机(如果您不需要JAVA 9或10,您也可以去掉它们,这样您的系统就只依赖JAVA 8)作为参考,不要使用JDK 9,使用旧的1.8.x作为参考,不要使用JDK 9,使用旧的1.8.x