找不到android SDK(Unity)


82

错误:

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

屏幕截图:

屏幕截图


1
试试这个,看看有没有什么帮助...
程序员

在安装Unity 2017.0.3f之前,我使用unity 2017.0.2f和sdk 25.2.5没问题,然后突然什么也没用!
Alex Jolig '17

一年后,仍然是一个问题。奇怪的是错误提示:“ CommandInvokationFailure:无法列出目标平台。请确保android sdk路径正确。C:/ Users / Francois / AppData / Local / Android / Sdk \ tools \ bin \ avdmanager.bat列出目标-c“如果运行该确切命令,则会得到目标平台的列表。因此,在路径中的\ vs / mess旁边,该命令有效。
FMaz008 '18

Answers:


196

我有同样的问题。

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

步骤。

  1. 删除android sdk“工具”文件夹:[您的Android SDK根目录] / tools->工具

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

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

  4. 建立你的项目


此修复程序会产生另一个错误:错误:[Temp \ StagingArea \ AndroidManifest-main.xml:12,C:\ Users \ Admin \ Documents \ Google VR \ Temp \ StagingArea \ android-libraries \ gvr-permissionsupport-release \ AndroidManifest.xml :3]主清单具有<用途-SDK机器人:的minSdkVersion = '16 '>但库使用的minSdkVersion = '19'
Ajq

还需要确保将最低API级别设置为与SDK相同的级别。这是在播放设置->其他设置中完成的。就我而言,我必须将其设置为16,将其设置为
19。– Ajq

20
对于MacOS:cd $ANDROID_HOME; rm -rf tools; wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-macosx.zip; unzip tools_r25.2.5-macosx.zip
electronicix384128

如何为Mac解决该问题?终端命令对我不起作用。
Mago Nicolas Palacios'5

4
在那之后我仍然有问题。显然,JDK 1.9.0仍然存在问题。安装1.8.0对我有用。适用于我的组合:Unity 2017.2.0f3 Android SDK 26 Android SDK工具25.2.5 JDK 1.8.0_151
justinl

34

该问题是由于统一性与最新的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


奇怪的是,我无法使用wget链接到该链接(正在获取404),但是当我在浏览器中打开它时,它按预期启动了下载。
livingtech '17

1
@livingtech不幸的是,这是因为当您从SO复制它时,它在URL中有一个空格。
electronicix384128

1
完美的声音,但必须先安装自制软件和wget!另一种方法是,下载zip文件并手动解压缩!
BSQ

如果您没有wget,可以使用cd $ANDROID_HOME; rm -rf tools; curl http://dl-ssl.google.com/android/repository/tools_r25.2.5-ma‌​cosx.zip > tools_r25.2.5-ma‌​cosx.zip; unzip tools_r25.2.5-macosx.zip
Kirk Boyer '18

13

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

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

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

4-解压缩

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

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

在此处输入图片说明


我尝试下载它并按照您的步骤进行操作,但是仍然存在问题!
Mago Nicolas Palacios'5


6

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

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

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

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

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

  • 建立你的项目


这与安装JDK jdk1.8.0_131(特定版本)无关,它与jdk1.8.0_151一起使用。问题是关于存储库工具的,就像您编写的一样(仅此一个)。
奥利维尔·庞斯

6

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

希望能帮助到你


5

更简单的解决方案:设置环境变量USE_SDK_WRAPPER = 1,或修改hack tools / android.bat以添加行“ set USE_SDK_WRAPPER = 1”。这可以防止android.bat弹出“ y / n”提示,这使Unity感到困惑。


1
@ paul-du-bois现在在2018.1x和2018.2x统一版本中遇到了相同的问题,并且在默认的“ android.bat”文件中添加了包装行即可解决此问题。谢谢!
asethi

5
  1. 删除android sdk“工具”文件夹:[您的Android SDK根目录] / 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/


1
谢谢你,你救了我:o 12/04/2018,这仍然无法正常工作
slides_alpha 18-4-12

2

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


实际上这非常相关-由于某种原因Unity正在检测最新的JDK,因此即使设置正确的路径也不起作用-必须卸载超过8的较新JDK。
埃文·诺尔斯

对我来说,它是通过在使用最新的JDK和Android Build Tools的同时将JAVA_HOME和ANDROID_HOME添加到系统变量来实现的。设置ANDROID_HOME = C:\安装位置\ android-sdk设置PATH =%PATH%;%ANDROID_HOME%\ tools;%ANDROID_HOME%\ platform-tools
asethi

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


0

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

C:/ Users / Onat / AppData / Local / 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-从-10-0-1.53​​2169 /。我的建议是:

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,为您的计算机设置下载较旧但功能正常的JDK 8(32位/ 64位,Windows / Linux等)

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.如果需要,请重新启动计算机以使更改生效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.