Android SDK和AVD管理器在Windows 7 x64上无法启动

21

有人能否确认一下在Windows 7 x64上尚不支持Android开发?我下载了SDK,但当我尝试启动SDK和AVD管理器时,它无法启动。


支持的。我现在在几台机器上使用它。当它无法启动时,你是什么意思?什么都没有发生,还是抛出了一个错误...什么? - Chris Thompson
启动时出现以下错误:[2013-03-20 10:47:42 - SDK Manager] [SDK Manager] 'D:\Android' 不是内部或外部命令,也不是可运行的程序或批处理文件。 实际上我有 d:\Adnroid sdks... 文件夹。 - Kostadin
问题不在文件夹和配置上 - 我正在尝试直接启动sdk管理器作为程序。它在WinXp和Win 7中工作,但现在打开第二个黑色控制台并没有任何消息就关闭了。 - Kostadin
9个回答

33

对我有效的方法是添加JAVA_HOME环境变量,指向jdk文件夹(在我的情况下为c:\ Program Files \ Java \ jdk1.7.0_04 ),并将%JAVA_HOME%\ bin 添加到PATH变量中。


谢谢!我尝试了很多不同的建议,这是唯一一个解决了我的问题。 - Dennis
1
这正是问题所在。感谢您节省了我的时间和挫折。 - lazyguy
可以在 Windows 8 64 位系统上运行,但需要在 Windows 上设置 JAVA_HOME 环境变量。 - Nei
在我的Windows 10 Pro,64位电脑上运行良好。 - dzendras

9

这个问题可能已经过时,但我认为我已经解决了它。

请确保将 c:\android_sdk_windows\tools 目录添加到您的 %PATH% 环境变量中。

在 Eclipse 中,检查 Windows->Preferences->Android,并确保您已将 SDK 位置设置为上述 SDK 目录。

在 SDK 目录下手动创建 2 个目录。

platforms

add-ons

SDK和AVD管理器现在应该可以启动了。

3
尝试了之前提供的所有解决方案,但只有这个解决了我的问题。添加附加组件文件夹就完成了这一神奇的效果。 - Lior Ohana
当前版本的Android SDK安装在C:\ Users <MyUsername> \ AppData \ Local \ Android \ Sdk下。 - pmont

4
对我来说,在Windows 8 64位系统中,问题是通过编辑android_sdk/tools/lib文件夹中的find_java.bat解决的。
基本上,如果路径中有空格,设置java_exe和javaw_exe的for循环将无法正常工作!也就是说,“C:\Program Files\Java\jdk”有这个问题,find_java.bat将把java_exe设置为“C:\Program”,而android.bat不喜欢这样。
当我像这样编辑find_java.bat时,一切都好了: (请参见“rem edit:”后面的两行)
rem Check we have a valid Java.exe in the path. The return code will
rem be 0 if the command worked or 1 if the exec failed (program not found).
for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a
rem edit:
set java_exe="%JAVA_HOME%\bin\java.exe"
if not defined java_exe goto :CheckFailed

:SearchJavaW
rem Check if we can find a javaw.exe at the same location than java.exe.
rem If that doesn't work, just fall back on the java.exe we just found.
for /f %%a in ('%~dps0\find_java.exe -s -w') do set javaw_exe=%%a
rem edit:
set javaw_exe="%JAVA_HOME%\bin\javaw.exe"
if not exist %javaw_exe% set javaw_exe=%java_exe%
goto :EOF

HTH


3

我有同样的问题......但是我没有找到任何解决方法...所以最终我坐下来开始调试android.bat文件。你可以在安装的androidSDK文件夹内找到它并进入tools文件夹。

我发现了一些有趣的事情... 缺少两个重要的变量设置! 第一个:找到下一行:java_exe = 这里缺少java.exe的位置。如果您设置了全局变量,例如:JAVA_HOME,可以使用它。 如果设置了它,您可以覆盖该行,如:java_exe = %JAVA_HOME%

第二个: 找到下一行:for /f %%a in ('% java_exe% -jar lib\archquery.jar') do set swt_path = lib\%% a 这里缺失lib前面的变量设置。

在上面几行中,您可以找到像这样的一个变量设置行:set work_dir ="%cd%" 所以......您可以使用此变量来帮助查找lib\archquery.jar文件

解决方案: for /f %%a in ('% java_exe% -jar %work_dir%\lib\archquery.jar') do set swt_path = lib\%% a

如果完成了......只需保存修改后的bat文件,尝试从命令提示符、exe文件或Eclipse启动Abdroid SDK管理器......

对不起,伙计们!!!我还不明白...... 所以!我在android.bat中进行了修改。安装Eclipse Juno Java和Android SDK。 我在eclipse中设置了一个工作空间目录,尝试运行Android SDK管理器......但它没有运行。 它指向了设置的工作空间而非已安装的AndroidSDK文件夹......

因此,如果您使用确切的路径到...\lib\archquery.jar文件,可能是最好的解决方案。


2
嘿,大家好,我终于为你们解决了关于ANDROID AVD的问题。我的名字是Jeremy,我不是Stack Overflow的用户。无论如何。
* 仅适用于Windows系统 *
第一步:删除从Android下载的所有内容。当我说“所有”时,我指的是所有东西,包括文件夹和其他任何东西。有时卸载程序并不能做到这一点,所以您可能需要手动操作。完成后重新启动计算机。
第二步:重新安装所有内容。我建议您使用网站上的installer_r21-windows.exe(推荐)。
第三步:安装您在开发过程中要使用的所有软件包。
第四步:设置AVD并单击“确定”。这将需要一段时间,并且窗口顶部会显示“应用程序未响应”。不要对它进行任何操作;让它继续运行,它最终会启动。
希望这对你有所帮助,对我来说没有麻烦。 附言:我在Windows 7上完成了此操作。

1
如果删除一切并重新安装是“解决方案”,那么问题就没有被正确理解。有时可以这样做,但我认为开发人员使用他的开发工具不应该这样做。 - Sqeaky

2

我遇到了相同的问题。我的SDK位于C:\ Android \ android_sdk_windows中,它已经有platform和add-ons文件夹。在UI中,我可以输入AVD的信息,但是当我点击[Create AVD]时,它就停止响应了。我可以看到它在.ini文件夹下创建了一个.avd新文件夹。在.avd文件夹中有一个sdcard.img和userdata.img文件。

最后,当我关闭AVD程序(从Windows中),它会弹出一个对话框告诉我“Java SE平台二进制文件没有响应。”

可能的一个问题是我同时安装了Java 6(32位)和Java 7(64位),而android.bat调用的find_java.bat程序找到了64位的Java。虽然它似乎仍能启动UI,但速度非常慢,所以我卸载了Java 7。现在UI响应很快(相对而言)。

然而,我追踪到真正的罪魁祸首是mksdcard.exe程序。如果我用空的SD值创建AVD,它可以很好地工作。如果我给它一个SD值 - 则停止响应。


2

我认为你的android-sdk文件夹在Windows 7系统文件夹之一中,例如Program Files(x86)。那里的权限受到系统严格控制。最好在这些系统目录之外创建android-sdk文件夹。


2
作为其中一条评论所指出的,问题在于C:\android-sdk-windows\tools\lib\find_java.exe和find_java.bat。我使用的是Win7-64位操作系统,没有安装32位JavaJRE/JDK,只有一个jre7 64位版本。Find_java.bat+exe工具无法找到64位版本的正确路径。如果只安装了32位版本的JRE,则应该不会出现问题(我没有尝试过这种情况)。
  • 打开DOS命令行并进入文件夹C:\android-sdk-windows\tools\lib\
  • 运行find_java.bat和find_java.exe,你应该会得到“failed to convert path…”和“c:\windows\system32\java.exe”的输出信息
  • 输入命令set path=c:\Program Files\Java\jre7\bin;%path%
  • 再次运行find_java.bat和find_java.exe,你将不会得到任何错误,并且正确路径c:/program files/java/jre7/bin/java.exe会被打印出来

如果你不想更改控制面板中的环境变量设置,你可以创建两个批处理脚本来运行AVD和SDK Manager。

C:\android-sdk-windows\AVD Manager.bat

set PATH=C:\Program Files\Java\jre7\bin;%PATH%
"AVD Manager.exe"

C:\android-sdk-windows\SDK Manager.bat

set PATH=C:\Program Files\Java\jre7\bin;%PATH%
"SDK Manager.exe"

这个问题和解决方案在Win7-64位/Android SDK Tools 20.0.3/Android SDK Platform-tools 14版本上进行了测试。


1

如果您已将用户目录移动到非 c:\ 的驱动器上,则无法正常工作 - 解决方法是将 E:\Users\Username\.android 文件夹从中复制到 E:\Users\Username\.android - 然后它应该可以正常工作。

还要确保您的环境变量 Path 设置为工具文件夹的位置 - 例如 E:\android-sdk_r05-windows\android-sdk-windows\tools


可能是因为Java运行时的user.home属性设置错误 - 请参见我在https://dev59.com/TFPTa4cB1Zd3GeqPmMJZ上的回复。 - Toybuilder

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