找不到android sdk(Unity)

时间:2017-03-01 17:39:49

标签: android unity3d

错误:

Invalid command android
UnityEditor.HostView:OnGUI()

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_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/great/AppData/Local/Android/Sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Error:Invalid command android
]
stdout[

]
exit code: 64
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()

构建播放器时出错:

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_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/great/AppData/Local/Android/Sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Error:Invalid command android
]
stdout[

]
exit code: 64

截图:

screenshot

11 个答案:

答案 0 :(得分:186)

我有同样的问题。

我通过android sdk工具版降级修复了。

步骤。

  1. 删除android sdk"工具"夹 :[您的Android SDK根目录] /工具 - >工具

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

  3. 将其解压缩到Android SDK root

  4. 构建项目

答案 1 :(得分:32)

问题是由于统一与最新的Android构建工具不兼容。 对于MacOS来说,这是一个让它适合你的衬垫:

cd $ANDROID_HOME; rm -rf tools; wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-ma‌​cosx.zip; unzip tools_r25.2.5-macosx.zip

答案 2 :(得分:12)

1-刚刚打开https://developer.android.com/studio/index.html

向下滚动到该页面的底部

3-为您的操作系统下载最新版本的工具(例如tools_r25.2.3-windows.zip)

4-解压缩

5-从以前的Android Sdk文件夹中删除文件夹工具

6-将新文件夹工具复制到Android SDK文件夹,如下图所示:

enter image description here

答案 3 :(得分:6)

Unity 5.6.1 / 2017.1修复了Android SDK Tools 25.3.1+兼容性问题。在issue 888859下的Unity错误跟踪器及其5.6.1 release notes

中注明了这一点

答案 4 :(得分:5)

这些步骤最终对我有用......

  • 安装JDK jdk1.8.0_131(是的,此特定版本,而不是更高版本)并将其设置为Unity中的JDK路径。

  • 删除android sdk tools文件夹:[android_sdk_root] / tools

  • http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip下载SDK工具v25.2.5(此特定版本)

  • 将该存档中的tools文件夹解压缩到Android SDK root

  • 构建项目

答案 5 :(得分:4)

对于Mac OS用户:

转到Android SDK文件夹并删除工具文件夹(我建议您在删除之前复制一份,以防此解决方案无法解决问题)

然后在此处下载tools文件夹:

http://dl-ssl.google.com/android/repository/tools_r25.2.5-macosx.zip

您可以在此处找到所有工具zip版本:

https://androidsdkoffline.blogspot.fr/p/android-sdk-build-tools.html

然后解压缩下载文件并将其放在Android sdk文件夹中。

希望有所帮助

答案 6 :(得分:3)

更简单的解决方案:设置环境变量USE_SDK_WRAPPER = 1,或者修改工具/ android.bat以添加“set USE_SDK_WRAPPER = 1”行。这可以防止android.bat弹出一个“y / n”提示符,这就是Unity的混乱。

答案 7 :(得分:3)

  1. 删除android sdk"工具"文件夹:[您的Android SDK root] / tools - >工具

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

  3. 将其解压缩到Android SDK root

  4. 构建项目

  5. 之后它还没有为我工作,我不得不

    1. 转到Java档案(http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

    2. 搜索jdk-8u131版本。

    3. 接受许可协议,建立帐户并下载该版本。

    4. 安装它并在Unity中将其定义为JDK路径。

    5. 来源:https://www.reddit.com/r/Unity3D/comments/77azfb/i_cant_get_unity_to_build_run_my_game/

答案 8 :(得分:1)

我通过卸载JDK 9解决了这个问题。

答案 9 :(得分:0)

Linux用户:

cp -r Android AndroidUnity
cd AndroidUnity/Sdk
rm -rf tools
wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip
unzip tools_r25.2.5-windows.zip

在Unity首选项中,更改为此新创建的sdk文件夹。

答案 10 :(得分:0)

就我而言,我试图为旧的Unity 3D项目构建并获取APK(以便可以在Android手机上玩游戏)。我使用的是最新版本的Android Studio,并且可以通过Android Studio中的SDK Manager下载所有SDK包。 SDK程序包位于

C:/用户/ Onat / AppData /本地/ Android / SDK 除了JDK(Java开发工具包)版本“ jdk-12.0.2”之外,我得到的错误消息是相同的。 JDK位于

C:\ Program Files \ Java \ jdk-12.0.2 Windows中的环境变量是JAVA_HOME:C:\ Program Files \ Java \ jdk-12.0.2

经过3个小时的研究,我发现Unity不支持JDK10。正如https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version-from-10-0-1.532169/中所述。我的建议是:

1。如果已经安装了不需要的JDK,请卸载它。 https://www.java.com/tr/download/help/uninstall_java.xml

2。前往http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3。如果尚未登录,请登录/打开Oracle帐户。

4。为您的计算机设置(32位/ 64位,Windows / Linux等)下载较旧但功能良好的JDK 8。

5。安装JDK。记住安装路径。 (https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/

6。如果使用Windows,请打开环境变量并通过右键单击“我的电脑/此PC”>“属性”>“高级系统设置”>“环境变量”>“新建”>“变量名称:JAVA_HOME>变量值:[您的JDK路径” ,我的是“ C:\ Program Files \ Java \ jdk1.8.0_221”]

7。在Unity 3D中,按“编辑”>“首选项”>“外部工具”,然后填写JDK路径(我的位置是“ C:\ Program Files \ Java \ jdk1.8.0_221”)。

8。此外,在同一弹出窗口中,编辑SDK Path。 (从Android Studio> SDK Manager> Android SDK> Android SDK位置获取。)

9。如果需要,请重新启动计算机以使更改生效。