找不到 android sdk (Unity)

错误:

Invalid command android
UnityEditor.HostView:OnGUI()

命令调用失败:

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

122256 次浏览

我也有同样的问题。

我修正了由 android sdk 工具版本降级。

台阶。

  1. 删除 android sdk“ tools”文件夹 : [ Your Android SDK root ]/tools-> tools

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

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

  4. 构建您的项目

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

2-向下滚动到该页的底部

3-download last version of tools for your OS (例如 tools _ r25.2.3-windows.zip)

4-解开拉链

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

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

enter image description here

这个问题是由于与最新的 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

Unity 5.6.1/2017.1修复了 Android SDK Tools 25.3.1 + 兼容性问题。这是注意到在统一的错误跟踪下的 第888859期和他们的 5.6.1版本说明

这些步骤最终对我奏效了。

  • 安装 JDK jdk1.8.0 _ 131(是的,这个特定的版本,不是更新的版本) ,并将其设置为 Unity 中的 JDK Path。

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

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

  • 将存档中的工具文件夹解压缩到 Android SDK 根目录

  • 构建您的项目

更简单的解决方案: 设置环境变量 USE _ SDK _ WRAPPER = 1,或者黑客工具/android.bat 添加一行“ set USE _ SDK _ WRAPPER = 1”。这可以防止 android.bat 弹出一个“ y/n”提示符,而这正是让 Unity 感到困惑的地方。

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

对于 Mac OS 用户:

转到您的 Android SDK 文件夹并删除工具文件夹(我建议您在删除它之前先复制一份,以防这个解决方案不能为您解决问题)

然后在这里下载工具文件夹:

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 文件夹中。

希望能有帮助

  1. 删除 Android SDK“ tools”文件夹: [ Your Android SDK root ]/tools-> tools

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

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

  4. 构建您的项目

在那之后,我还没有工作,我不得不

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

  2. 搜索 jdk-8u131版本。

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

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

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

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 文件夹。

在我的例子中,我试图为一个旧的 Unity 3D 项目构建并获得 APK (这样我就可以在我的 Android 手机中玩游戏)。我使用的是最新的 Android Studio 版本,以及所有可以通过 Android Studio 中的 SDK Manager 下载的 SDK 包。SDK 包位于

C:/Users/Onat/AppData/Local/Android/Sdk 除了 JDK (JDK)版本“ 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 不支持 JDK 10。就像 https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version-from-10-0-1.532169/里说的那样。我的建议是:

1. 如果已经安装了一个 JDK,则卸载不需要的 JDK

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

3. 如果还没有登录,请登录/打开 Oracle 帐户。

4. 下载旧版本但功能齐全的 JDK 8,用于计算机设置(32位/64位、 Windows/Linux 等)

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

6.如果你使用 Windows,打开环境变量并通过右键单击我的电脑改变 JAVA 路径 > 属性 > 高级系统设置 > 环境变量 > 新建 > 变量名: JAVA _ HOME > 变量值: [你的 JDK 路径,我的是“ C: Program Files JAVA jdk1.8.0 _ 221”]

在 Unity 3D 中,按编辑 > 首选项 > 外部工具并填写 JDK 路径(我的是“ C: Program Files Java jdk1.8.0 _ 221”)。

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

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