> 软件编程 > 安卓开发 > Unity编译时找不到AndroidSDK的问题:Unable to list target pla
2017-05-19 17:20
405 查看
http://www.qingpingshan.com/rjbc/az/228769.html
现象
在用 Unity 编译 Android 平台的应用时,遇到 Unable to list target platforms 的问题。错误提示
详细错误描述如下:
Error:Invalid command android
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details.
C:\Program Files\Java\jdk1.8.0_91\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="D:/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -
stderr[
Error:Invalid command android
]
stdout[
]
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.BuildPlayerWindow:BuildPlayerAndRun()
原因
原因简单描述
Unity 在编译时会调用 Android SDK tools 中的 android 命令,而在新版本的 Android SDK tools 中,android这个命令已经废弃了,导致 Unity 无法正常编译。我的 Android SDK tools 版本是 25.3.1 。
找到问题原因的过程
经过再三确认,我配置的 Android SDK 是没问题的。SDK设置
后来我注意到错误描述中有提到“无效的命令 android ”,所以我尝试直接调用 android 这个命令,看是不是有问题。
Error:Invalid command android
android 命令是 AndroidSDK 中 tools 目录下的 android.bat 。直接调用,发现这个命令已经废弃了。
The "android" command is no longer available.
For manual SDK and AVD management, please use Android Studio.
For command-line tools, use
tools\bin\sdkmanager.bat and tools\bin\avdmanager.bat
解决方案
知道了原因,问题就好解决了。从官网下载一个旧版本的 Android SDK tools 。 tools_r25.2.3-windows.zip 。
把原来 SDK 目录下的 tools 备份一下。我是把它重命名成 tools-25.3.1 。
把下载好的旧版本的 tools 解压到 SDK 目录下。
再在 Unity 中重新编译,问题已经解决了。
对比了一下两个版本的 tools,差别真的很大,少了很多东西。比如,做.9图的 draw9patch 就不知道去哪里了。
tools 25.2.3 vs 25.3.1
相关文章推荐
- Unity编译时找不到AndroidSDK的问题:Unable to list target platforms
- Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms(转载)
- Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms(转载)
- Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms
- unity编译时找不到AndroidSDK:Unable to list target platforms
- Unity编译 Android 报错Unable to list target pla
- Unity编译Android包错误,Unable to list target platforms
- unity打包出现Unable to list target platforms.Please make sure the android sdk path is correct.
- Eclipse安卓问题--Unable to resolve target 'android-25'
- 安卓导入项目报错Unable to resolve target 'android-xx'问题解决
- Unity2017 Unable to list target platforms.Please make sure the android sdk path is correct.问题解决!
- unity编译apk出Error building Player: UnityException: Can not sign application Unable to sign applicat问题
- linux内核编译中的各种问题:No rule to make target `menuconfig'&&Unable to find the Ncurses libraries
- https编程遇到PKIX:unable to find valid certification path to requested target 的问题
- 安卓开发问题之 Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication
- Android 开发过程中遇到了一个问题 小记录一下 ERROR: In <declare-styleable> BorderLinearLayout, unable to find attribu
- 安卓开发问题之 Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication
- 解决PKIX:unable to find valid certification path to requested target 的问题
- 编译内核,make menuconfig 出现以下问题Unable to find the ncurses libraries or the及解决