关于Windows 7中的” Android创建”调用失败:Windows 7中的” Android创建”调用失败-缺少JDK

“Android Create” call fails in windows 7 - missing JDK

我在Windows 7中安装android dev环境时遇到问题。我按照此处的说明以及几个环境子链接进行操作。我将Eclipse与Android插件配合使用。我已经在不同的位置(jdk-6u20-windows-i586.exe)上安装了Java JDK多次,但是显然缺少了一些东西。

每次我运行" android create avd --target 2 --name my_avd"时,我都会收到错误消息:

1
2
3
4
5
6
7
8
9
10
11
12
13
    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:驱动器上的某个位置。然后,我将其移动到默认位置(程序文件(x86)\\\\ java \\\\ jdk.6.something。我也尝试强制使其进入程序文件\\\\路径,但它仍会自动安装到(x86)中)我每次都将安装路径添加到我的path环境变量中,但是我仍然继续收到此错误,我怀疑Windows 7和android工具在查找JDK方面不能很好地协同工作,但是谁知道,这可能是完全不同的。如果您以前曾见过此错误,我将不胜感激。


在意外安装Java SDK的32位版本后,我遇到了同样的问题。我卸载了它并安装了64位版本(因为我使用的是Windows 7 64)。即使将SDK添加到PATH变量中,Android SDK设置也无法正确找到Java!

经过一番挖掘,我在system32文件夹中发现了一个java.exe,该文件夹以PATH变量的顺序出现在我的SDK路径之前。重击我的system32文件夹中的java.exe之后,Android安装程序运行正常!

希望这会有所帮助。


android命令只是Windows批处理文件,而Windows批处理文件又使用批处理文件tools\\lib\\find_java.bat查找Java。

看看源代码,它执行以下操作:

  • 看起来是否java.exe在您的PATH上。
  • %ProgramFiles%下的某处寻找java.exe
  • 出现问题是因为您使用的是Windows的64位版本。这意味着%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的末尾,并在其前面加上分号,以将其与上一个条目分开。

    superuser.com上的此问题涉及在Windows 7中维护环境变量。


    使用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

    1
    2
    3
    4
    5
    6
    7
    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

    那对我有用。


    在SDK工具文件夹中,转到libs并编辑find_java.bat。通常可以在C:\\Program Files (x86)\\Android\\android-sdk-windows\\tools\\lib中找到。

    %ProgramFiles%的所有实例更改为%PROGRAMFILES(X86)%

    我这样做了,错误消失了。


    我在调用命令后将rem语句放在android.bat中,并对\\\\ bin \\\\ java.exe的路径进行硬编码:

    1
    2
    3
    4
    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相同,因此:

    1
    2
    3
    set javaw_exe=<..>\\jre1.6.0_31\\bin\\javaw.exe
    if not exist %javaw_exe% set javaw_exe=%java_exe%
    goto :EOF

    对我有用的是:

    将java / bin目录的路径添加到系统Path变量。不要包含java.exe。

    Win 7 64位上的步骤:

    • 单击Windows按钮
    • 右键单击计算机
    • 从上下文菜单中选择属性
    • 单击左上方的"高级系统设置"
    • 单击属性对话框底部的环境变量...按钮。
    • 在底部列表(系统变量)上找到" Path"变量
    • 点击编辑按钮
    • 转到文本框的结尾,然后输入类似c:\\\\ program的内容
      files \\\\ java \\\\ jdk1.6.0_26 \\\\ bin(确保与您的名称匹配
      java目录!)
    • 点击确定
    • 点击确定
    • 点击确定

    试试看!

    hth,

    \\\\ ^ / i l l


    找到android-sdk-windows\\tools\\lib\\find_java.bat并添加如下内容:

    1
    2
    3
    set java_exe=
    call :TestJavaDir"%JAVA_HOME%"
    if defined java_exe goto :EOF

    C:\\\\ Windows \\\\ SysWOW64

    1下票

    我也有同样的问题
    ->不小心安装了32位版本的Java SDK->卸载->安装了64位版本(Windows 7 64)->-> Android SDK安装程序未正确找到Java!

    我发现C:\\\\ Windows \\\\ SysWOW64文件夹中漂浮着一个java.exe。
    将这个java.exe重命名为javaX.exe之后,Android安装程序就可以正常运行了!