Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Unity 2018 beta制作Android版本_Android_Unity3d - Fatal编程技术网

使用Unity 2018 beta制作Android版本

使用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/

我已经安装了sdkjdk,并将它们作为外部工具添加到Unity中,从纸面上看一切正常,但当我尝试构建它时失败了

我有avdmanager在它正在寻找的位置,所以我完全困惑。救命啊

我在控制台中遇到以下错误:

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