53

我将 Android SDK 工具从修订版 11 更新到修订版 12,但模拟器现在无法启动。当我尝试运行 emulator.exe 时,我得到:

无效的命令行参数:Files\Android\android-sdk\tools/emulator-arm.exe。
提示:使用“@foo”启动名为“foo”的虚拟设备。
请使用 -help 获取更多信息

emulator.exe 的路径是C:\Program Files\Android\android-sdk\tools

我如何解决它?

4

11 回答 11

79

如前所述,似乎确实是由于Android SDK的默认安装路径中有空格造成的:C:\Program Files\Android\android-sdk\

不过,有几个可能的解决方案-

  1. 将安装目录移动到不包含空格的路径(如前所述)...
  2. 但更简单且可能稍微不那么麻烦的是简单地调整 Eclipse 中的路径以使用 8-dot-3 目录名称。由于我运行的是 Win7,因此我有两个 Program Files 目录,第二个是“Program Files (x86)”,这是安装 sdk 的位置。所以 8-dot-3 路径是 PROGRA~2。因此,我只是将 Eclipse 中 Android 首选项中的“SDK 位置”值从 C:\Program Files\Android\android-sdk\ 更改为 C:\PROGRA~2\Android\android-sdk\,现在一切正常。

如果您不知道所需路径的 8-dot-3 名称,只需启动命令提示符并执行“DIR /X”...短名称将显示在每个目录旁边。

于 2011-07-07T20:26:41.297 回答
27

对我来说同样的问题,虽然这是我第一次尝试使用 Android SDK。我认为问题在于 SDK 的位置。注意“参数”“Files\Android\android-sdk\tools/emulator-arm.exe”。我相信谷歌的代码中存在一个错误,它没有 SDK 位于引号中的目录,这意味着,如果目录名称中的任何位置有空格,它将无法工作。有人可以在没有空格的目录中使用他们的 SDK 来证实我的理论吗?

要解决此问题,您可以从命令行调用“C:\Program Files\Android\android-sdk\tools\emulator @foo”,其中“foo”是您的模拟器的名称。

于 2011-07-06T22:35:26.423 回答
6

我刚才遇到了这个问题,我找到了解决方案。

我的 emulator-arm.exe 路径是C:\Program Files\Android\android-sdk\tools. emulator-arm @my_avd当我从命令行尝试时(my_avd是我的 Android 虚拟设备名称),它可以工作。

于 2011-07-07T02:38:14.797 回答
4

我在 Windows XP 上解决了这个问题。只需从“C:\Program Files\Android\android-sdk”剪切并将内容目录粘贴到“C:\Android\android-sdk”。设置我的系统变量'ANDROID_HOME'="C:\Android\android-sdk"。在 Eclipse 中将 Android SDK 的路径设置为“C:\Android\android-sdk”。而已!一切正常。

于 2011-07-26T13:10:57.367 回答
3

由于此问题的原因是 Windows 安装目录的文件路径名称中的空格,因此另一种解决方法是使用文件短名称(即8.3 别名文件名)。

具体来说,如果 Android SDK 的根安装目录是

c:\Program Files\..然后使用c:\PROGRA~1\..

或者如果

c:\Program Files(x86)\..然后使用c:\PROGRA~2\..

然后,您可以通过命令行运行 SDK 管理器:

start c:\PROGRA~2\Android\android-sdk\tools\android.bat

于 2011-09-09T16:39:46.600 回答
3

已在 r13 中修复。更新您的 SDK 工具!

于 2011-09-23T21:48:04.483 回答
2

我认为您是说您更改了应用程序的 minSDK 版本,现在模拟器无法运行...?这是因为您的模拟器版本错误...假设您正确更改了应用程序的 minSDK,您需要做的就是创建一个具有相同 SDK 版本的模拟器。打开 Android SDK / AVD 管理器(打印令牌旁边屏幕右上角的图标)并使用 minSDK 12 创建一个模拟器。

于 2011-07-06T21:32:21.727 回答
2

在将 SDK Tools 从修订版 11 更新到 12 后,我也遇到了这个问题。我发现这是 android-sdk-windows 所在的上层目录名称中的空格问题,然后我复制了 'eclipse' 和 'android-sdk- windows 的目录从我的“程序文件(x86)”到驱动器 D: 的根目录。现在一切都解决了!

于 2011-07-07T13:45:43.873 回答
2

将您的 Android SDK 文件夹移动到完整路径没有空格的位置将解决问题。

于 2011-07-07T05:52:49.383 回答
1

作为 PROGRA~2 方法的替代方法(例如在 Intellij IDEA 中不起作用),您可以创建一个名为 prg 到 Program Files 的符号链接(从命令行运行 mklink /? 以了解如何操作),然后以 C:\prg\Android\android-sdk\tools\emulator.exe 运行模拟器。还要在 IDE 中更改 SDK/模拟器的路径。

于 2011-07-12T17:59:10.013 回答
0

我在设置 r12 时遇到了同样的问题。我发现这个问题是由您设置 android SDK 的路径中的空格引起的。解决方案是您应该将 android SDK 的文件夹移动到没有空格的地方,在您的情况下:E:\andriod-sdk 或 D:\abc\xyz\android-sdk。

于 2011-07-09T06:17:31.467 回答