首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >构建失败:无法在Unity上构建Android .apk

构建失败:无法在Unity上构建Android .apk
EN

Stack Overflow用户
提问于 2018-06-22 21:57:45
回答 2查看 3.6K关注 0票数 0

每当我尝试为android构建并运行Unity应用程序时,我都会收到以下错误:

代码语言:javascript
复制
Build Failure: Unable to list target platforms. please make sure the 
android sdk path is correct. See the Console for details.

问题是路径设置正确,我也能够使用Android Studio构建应用程序。在Unity中,我将路径正确设置为

'/Users/MYUSERNAME/Library/Android/sdk‘

Unity甚至会打开一个提示,告诉我当我点击Preferences中的Browse -> External Tools时,已经找到了Android SDK。

在Unity-Log中,我还收到以下错误消息:

代码语言:javascript
复制
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. 
/Users/MYUSERNAME/Library/Android/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.run(AvdManagerCli.java:213)
    at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
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:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 5 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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-23 20:30:43

我自己解决了这个问题。我不知道为什么会有这个问题,但在我将JDK降级到1.8之后,我就能够构建.apk了。

票数 0
EN

Stack Overflow用户

发布于 2018-06-23 05:08:12

您需要Android SDK的25.5.5版本。

如果你还没有降级,步骤如下:

1-删除Android SDK tools文件夹:您的Android SDK根目录/tools -> tools。

2.下载SDK工具:http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

3-将其解压缩到Android SDK根目录。

Source of the instructions

如果你已经做过了,请让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50989626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档