我在Windows 7中设置Android dev环境时遇到问题。我按照here,指令以及几个环境子链接进行操作。我正在使用带有Android插件的Eclipse。我已经在不同的位置安装了几次Java JDK(jdk-6u20-windows-i586.exe) - 但我显然遗漏了一些东西。
每次我运行“android create avd --target 2 --name my_avd”时都会收到错误:
C:\Users\andrew>android create avd --target 2 --name my_avd
WARNING: Java not found in your path.
Checking it it's installed in C:\Program Files\Java instead.
ERROR: No suitable Java found. In order to properly use the Android Developer
Tools, you need a suitable version of Java installed on your system. We
recommend that you install the JDK version of JavaSE, available here:
http://java.sun.com/javase/downloads/
You can find the complete Android SDK requirements here:
http://developer.android.com/sdk/requirements.html
此错误消息是我多次安装JDK的原因。首先,我尝试安装到我的e:驱动器上的某个位置。然后我将它移动到默认的loc(程序文件(x86)\ java \ jdk.6.something。我也尝试强制它进入程序文件\路径,但它仍然自动安装到(x86)路径。我我每次都在路径环境变量中添加了安装路径,但我仍然继续得到这个错误。我怀疑是Windows 7和android工具在查找JDK方面没有很好地协同工作,但谁知道呢,它可能是完全不同的东西。如果您之前看过这个错误,我将不胜感激。
答案 0 :(得分:14)
我在意外安装了32位版本的Java SDK之后遇到了同样的问题。我卸载它并安装了64位版本(因为我使用的是Windows 7 64)。 Android SDK设置从未正确找到Java,即使我将其添加到PATH变量中也是如此!
经过一番挖掘后,我发现了一个java.exe浮动在我的system32文件夹中,它按照PATH变量的顺序出现在我的SDK路径之前。在我的system32文件夹中敲击java.exe后,Android安装程序运行得很好!
希望这有帮助。
答案 1 :(得分:7)
android
命令只是一个Windows批处理文件,后者又使用批处理文件tools\lib\find_java.bat
来查找Java。
查看源代码,它会执行以下操作:
java.exe
上是否有PATH
。java.exe
%ProgramFiles%
醇>
您的问题出现是因为您使用的是64位版本的Windows。这意味着%ProgramFiles%
为C:\Program Files
,但Java安装在C:\Program Files (x86)
中,因为它是一个32位应用程序,这意味着find_java.bat
找不到它。
因此,要解决此问题,您需要将包含java.exe
的目录添加到PATH环境变量中。
您需要将包含java.exe
的目录(例如C:\Program Files (x86)\Java\jdk6\bin
- 添加到PATH
的末尾,并在其前面加一个分号,将其与上一个分开条目。
This question on superuser.com涵盖了在Windows 7中维护环境变量。
答案 2 :(得分:6)
JDK检测确实很糟糕......
我的参数: Win 7 x64 + JDK x64(JDK路径(c:\ Program Files \ Java \ jre7 \ bin)
谷歌搜索和玩env变量可能是1小时 - 没办法。
最后提出这样的解决方案
通过硬编码java.exe的路径来手动编辑android-sdk-windows\tools\lib\find_java.bat
set java_exe=c:\Progra~1\Java\jre7\bin\java.exe
if not defined java_exe goto :CheckFailed
:SearchJavaW
set javaw_exe=c:\Progra~1\Java\jre7\bin\javaw.exe
if not exist %javaw_exe% set javaw_exe=%java_exe%
goto :EOF
这对我有用。
答案 3 :(得分:2)
在SDK工具文件夹中,转到libs并编辑find_java.bat
。它通常可以在C:\Program Files (x86)\Android\android-sdk-windows\tools\lib
中找到。
将%PROGRAMFILES%
的所有实例更改为%PROGRAMFILES(X86)%
。
我这样做了,错误就消失了。
答案 4 :(得分:1)
查找android-sdk-windows\tools\lib\find_java.bat
并添加如下内容:
set java_exe=
call :TestJavaDir "%JAVA_HOME%"
if defined java_exe goto :EOF
答案 5 :(得分:1)
对我有用的是:
将java / bin目录的路径添加到系统Path变量中。不要包含java.exe。
Win 7 64bit的步骤:
尝试一下!
HTH,
\ ^ /我l
答案 6 :(得分:1)
我在调用命令后将rem语句放在android.bat中并硬编码\ bin \ java.exe的路径:
rem Check we have a valid Java.exe in the path.
set java_exe=<..>\jdk1.6.0_31\bin\java.exe
rem call lib\find_java.bat
if not defined java_exe goto :EOF
因此设置其他变量javaw_exe相同:
set javaw_exe=<..>\jre1.6.0_31\bin\javaw.exe
if not exist %javaw_exe% set javaw_exe=%java_exe%
goto :EOF
答案 7 :(得分:-2)
C:\的Windows \ SysWOW64中
1 down vote
我也有同样的问题 - &GT;意外安装了32位版本的Java SDK - &gt;已卸载 - &gt;安装了64位版本(Windows 7 64) - &gt; - &GT; Android SDK设置从未正确发现Java!
我在C:\ Windows \ SysWOW64文件夹中发现了一个浮动的java.exe。 将此java.exe重命名为javaX.exe后,Android安装程序运行正常!