安装Android SDK时找不到JDK

1240

我正在尝试在我的Windows 7 x64系统上安装Android SDK。

jdk-6u23-windows-x64.exe 已安装,但Android SDK安装程序无法继续,因为找不到JDK安装。

这是已知的问题吗?是否有解决方案?

SDK错误


5
我遇到了与installer_r08-windows.exe相同的问题(这是“推荐”的下载)。设置JAVA_HOME似乎没有帮助。我想下一步会尝试zip文件... - Hans Nowak
@AndroidEve:Android SDK(也许不包括ADT)的Windows版本是一个EXE文件,例如installer_r22.0.1-windows.exe。 - RenniePet
1
我将Lazarus的评论标记为有用,但实际上并不是!那个解决方案在Windows 8上行不通! - Mark
Jules Colle的解决方案加上设置JAVA_HOME环境在我的Windows 7 64位系统上运行良好。 - duchuy
最简单的方法是打开 tools/android.bat 文件,找到其中一行写着 "set java_exe",将其改为 "set java_exe=你的 Java 可执行文件的绝对路径",然后将接下来的两行代码注释掉。 - sma
显示剩余5条评论
46个回答

1258

当您收到通知时,请点击返回,然后点击下一步。这次它会找到JDK


32
也适用于Windows XP。谢谢! - Spidy
42
在Windows 7 x64上对我不起作用。我不是在开玩笑。我设置了JAVA_HOME并尝试了多次点击返回和下一步,但仍然无法工作。从存档中运行SDK Manager.exe也不起作用,我确定已安装JDK 7(甚至重新运行安装程序,它告诉我已经安装)。 - f.ardelian
15
无法解决 Windows 7 x64 的问题,建议编辑回答以明确说明这一点。 - Greg
1
我已经尝试将JAVA_HOME设置为[...]system32/java.exeC:\Program Files\Java\jdk1.7.0_09\bin\java.exe以及仅为C:\Program Files\Java\jdk1.7.0_09,但安装程序仍然无法识别它。我已经按照描述多次来回尝试过了。同时使用的是Win7 64位系统。 - Martin Lyne
7
JAVA_HOME设置为C:\Program Files\Java\jdk1.7.0_17对我起了作用(当然,您需要重新启动安装程序才能使环境变量的更改生效;来回切换是行不通的)。 - PeterT
显示剩余14条评论

284

实际设置:

  • 操作系统: Windows 8.1
  • JDK 文件: jdk-8u11-windows-x64.exe
  • ADT 文件: installer_r23.0.2-windows.exe

安装 x64 JDK,首先尝试“后退-下一步”选项,然后尝试按照错误消息中所说的设置 JAVA_HOME,但是如果这对你也不起作用,那么请尝试以下方法:

按照其指示,在环境变量中设置JAVA_HOME,但在路径中使用正斜杠而不是反斜杠。

真的。

对于我来说,在 JAVA_HOMEC:\Program Files\Java\jdk1.6.0_31 时失败了,但在 C:/Program Files/Java/jdk1.6.0_31 时运行良好 - 让我抓狂了!

如果这不够,请在环境变量 Path 的开头添加 %JAVA_HOME%;

系统环境变量中的更新值:

  • JAVA_HOME=C:/Program Files/Java/jdk1.8.0_11
  • JRE_HOME=C:/Program Files/Java/jre8
  • Path=%JAVA_HOME%;C:...

10
是的!!!这个方法适用于我的Win 7 Pro 64位系统,使用Android R18 exe安装程序。您,先生,今天是我的英雄。现在我只需要知道你到底是怎么想到尝试这个方法的? :-) - Julian Higginson
9
我猜测编写这个代码的可能是Windows的反对者,他们从未真正测试过它,因此他们的Unix正斜杠没有转换为Windows反斜杠。 - Kenton Price
38
由于没有任何方法起作用,包括这个解决方案,我几乎要放弃了。然而,问题在于我试图过于聪明了!我将JAVA_HOME设置为C:/Program Files/Java/jdk1.7.0_03/BIN,但实际上你不需要包含/bin!!只需删除它,你就可以解决问题了! - fIwJlxSzApHEZIl
27
记得在添加环境变量后重新启动安装程序。 - theiOSDude
1
在Win8下设置JAVA_HOME(C:\Program Files\Java\jdk1.7.0_10)对我有用。别忘了在设置JAVA_HOME后重新启动计算机。 - gurehbgui
显示剩余13条评论

99

我找到了解决方案,它很傻但有效。我在Android SDK无法检测到JDK上找到了答案。

在SDK错误屏幕上按下返回按钮,提示EXE无法检测到JDK,然后按下一步

谁能想到这会有用呢?


2
不适用于Win7 64位系统。 - Stepan Yakovenko

88

看起来没有32位的JDK就无法工作。 只需要安装它就可以愉快地使用了...


嗯...我也是这样做的,但我没成功。也许还需要做一个额外的步骤? - Android Eve
9
我刚刚遇到了与32位JDK相同的问题。 - Vintharas
3
我正在尝试使用“installer_r20-windows”安装Android SDK,但它仍然拒绝接受64位JDK作为合法的选项,即使我已经设置了JAVA_HOME环境变量。谷歌:请修复这个问题!! - Someone Somewhere
1
我已经安装了Java SDK x64。看起来Android SDK是x32位的。谷歌,下次能不能更清楚一点? - Valamas
1
对我有用,Win7 64位。尝试了其他解决方案都无效。 - Martin Lyne

32
我下载了.zip压缩文件,然后运行了SDK Manager.exe,结果很顺利。否则你使用.exe可能会遇到相同的问题。

28

警告:正如一位评论者提到的那样,不要在Windows 7上尝试此操作!我测试过Windows XP 64位。

由于发布的解决方案并不适用于所有人(包括我自己),我想为那些寻找另一种方法(无需修改注册表等)在Windows 64位系统上解决此问题的人留下注释。只需将PATH(大写字母!!)添加到环境变量中,并将该值设置为JDK路径即可。

我将JDK添加到现有的“Path”中,但它不起作用,就像JAVA_HOME或“Back”解决方案一样。将其添加到“PATH”中终于起作用了。

我希望这对某些人有所帮助。


返回按钮的技巧对我没用,但添加路径非常有效。谢谢! - Sver
5
在Windows 7上,环境变量的名称似乎是不区分大小写的,所以当我添加了一个“PATH”变量时,它覆盖了“Path”变量。这只是对其他尝试相同操作的人的一个警告! - Ian Newson
1
还是不行,不知道哪里出了问题 :( 我已经设置好了Path变量,我把它改成了PATH并将我的jdk路径“C:\Program Files\Java\jdk1.7.0_05\bin”附加到其中(不带引号),然后尝试安装android sdk,但仍无法继续 :( - wliao
3
对我来说这个方法可行,只需多一步。我必须将c:\windows\system32目录下的java.exe文件重命名为其他名称(例如我的是java.exe.old)。这样它就会实际检查JDK目录,并成功解决问题。 - IronicMuffin
所有其他尝试都在Win7 64位上失败了,我已经放弃了,但是让我再试一次。然后它像魔法一样奏效了...谢谢。 - electricalbah
显示剩余5条评论

20
你只需要以下两个注册表项。看起来,其他人发布的注册表内容基本上只是从 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft 复制了所有键到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft, 这显然不是最理想的解决方案,因为大多数键并不需要。
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit]
"CurrentVersion"="1.6"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit\1.6]
"JavaHome"="C:\\Program Files\\Java\\jdk1.6.0_23"

20

这些解决方案都对我没用。我通过临时更改文件名 C:\Windows\System32\java.exejava_.exe 来解决问题。


1
这在我的64位Windows 7上使用JDK7x64位和20.0.3安装程序中运行成功。 - Nuno Furtado
哇!在Windows 7 x64下完美运行,而且没有使用32位JDK!非常感谢 :) - Sdghasemi
谢谢!对我有用。真是疯狂 - 安装这些工具在Windows上出现了这么多错误,到底是怎么回事? - mg1075

19

这里提供的解决方案都不能解决64位版本的问题。

在环境变量中将JDK路径放在c:\windows\system32\路径之前可以解决该问题。否则,32位java.exe会优先被找到,而不是64位JDK版本。


我想路径中有太多的Java了……但两种情况下的java.exe不应该是相同的吗? - SeanJA
@SeanJA 有些情况下,你可能同时安装了32位和64位的Java,你需要确保它首先指向64位版本。 - Pascalius
我没想到新的Windows机器上会默认安装Java...但是我又一次做出了假设... - SeanJA
这个解决方案适用于Windows8 x64。尝试了上面的所有其他方法都没有成功。 - Andrei Dvoynos

17
在阅读了几篇博客文章之后,似乎只需在安装程序显示未找到JDK时点击“后退”,然后再次点击“下一步”,就可以轻松解决问题,并且神奇地找到JDK。不需要操作注册表或重新下载等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接