安卓模拟器无法启动,显示“命令行参数无效”。

230

我在Eclipse中制作了一个简单的“Hello World”程序。我没有在Java文件中添加任何内容,只是在文件main.xml中添加了一个文本视图。

//main.xml file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hello World"
    />
</LinearLayout>

现在当我运行我的程序时,它会在控制台中显示以下内容。

//console output
[2011-07-10 07:10:22 - demo] ------------------------------
[2011-07-10 07:10:22 - demo] Android Launch!
[2011-07-10 07:10:24 - demo] adb is running normally.
[2011-07-10 07:10:24 - demo] Performing com.demo.DemoActivity activity launch
[2011-07-10 07:10:25 - demo] Automatic Target Mode: launching new emulator with compatible AVD 'vishal'
[2011-07-10 07:10:25 - demo] Launching a new emulator with Virtual Device 'vishal'
[2011-07-10 07:11:06 - Emulator] invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe.
[2011-07-10 07:11:07 - Emulator] Hint: use '@foo' to launch a virtual device named 'foo'.
[2011-07-10 07:11:07 - Emulator] please use -help for more information

//--------------------------------------------------------------------------------/

这说明我的Android虚拟设备(AVD)由于某些原因无法启动。我该怎么办才能解决这个问题?


2
在SDK工具版本12中启动Android模拟器。 - Timothy003
11个回答

317

目前在 R12 版本中存在一个问题,SDK 的路径不能包含任何空格。

默认的安装路径是:C:\Programme Files(x86)\Android\android-sdk。他们正在解决这个问题,但现在你可以通过将 Eclipse 中的 SDK 路径更改为 C:\PROGRA~2\Android\android-sdk 来解决它。

如果你使用的是 32 位 Windows 系统,请将路径更改为C:\PROGRA~1\Android\android-sdk


30
如果你不知道你所需路径的8个点3个名字,只需打开命令提示符并执行“DIR /X”即可...短名称将显示在每个目录旁边。 - Jay Mayu
这个问题能在Eclipse中修复吗? - Britt Wescott
我已经尝试过这个方法,但在我的32位Windows 7电脑上仍然无法工作。我的SDK位于以下路径D:\Program Files\Android\android-sdk,并且我已将以下内容放入Eclipse中的SDK位置路径中,但没有成功。 D:\ PROGRA〜1 \ Android \ ANDROI〜1 - BillyPilgrim
3
我最终只是直接将android-sdk目录复制到D盘的根目录,并更新了Eclipse中的SDK路径以反映新的位置。非常顺利地完成了。 - BillyPilgrim
8
这太荒谬了,我认为99%的人在尝试开始使用安卓时都会遇到这个问题! - jcvandan
显示剩余2条评论

52

我建议创建一个名为C:\Android的目录链接,指向实际的C:\Program Files (x86)\Android\android-sdk-windows\目录:

MKLINK /J C:\Android "C:\Program Files (x86)\Android\android-sdk-windows\"

然后将新创建的联接设置为Eclipse ADT插件(Eclipse菜单\窗口\首选项\Android)的SDK位置。这可能对一些工具/插件也有帮助,这些工具/插件在路径中有空格的情况下会出现问题。


1
不错的想法。你也可以将其创建为符号链接,这是自Windows Vista以来的新方法。 - Hosam Aly

33
  • 如果您在Eclipse中的SDK位置路径为C:\Program Files (x86)\,请更改为C:\PROGRA~2\
  • 如果您正在运行32位Windows,C:\Program Files\,请将路径更改为C:\PROGRA~1\

图片描述


24

NickC 是正确的。值得一提的是,SDK 的位置设置在 Eclipse > Window 菜单 > Preferences > Android 中。如果您的文件夹不同,您可以使用命令提示符中的 dir foldername /x 命令来检查任何文件夹的 8.3 格式。


15
我也遇到了这个问题。解决方法是(如果您像我一样使用Windows),将路径更改为C:\PROGRA~1\Android\android-sdk-windows\
假设Program Files是第一个包含单词“PROGRAM”的目录,应该是这样的。这个方法有效。

7
我打开了任务管理器,确保adb.exe已关闭(它会锁定一些文件)。
创建文件夹C:\Android,将文件夹+所有文件从C:\Program Files\android-sdk移动到C:\Android。
编辑C:\Documents and Settings\All Users\Start Menu\Programs\Android SDK Tools快捷方式。
我考虑卸载SDK并重新安装,但是我不知道它存储临时文件的位置。我不想重新下载我添加到SDK中的平台、示例和文档。

4
我遇到了同样的问题。我使用以下方法解决了它:
"C:\Program Files (x86)\Android\android-sdk\tools\emulator-arm.exe"  @foo

foo是您的虚拟设备的名称。


同样的 - 菲尔,你是怎么做到的? - ina

3
作为PROGRA~2方法的替代方案(例如在IntelliJ IDEA中无效),您可以创建一个符号链接

它可以被命名为prg指向Program Files(从命令行运行mklink /?以了解如何操作)。然后将模拟器路径改为C:\prg\Android\android-sdk\tools\emulator.exe。还需更改 IDE中SDK/模拟器的路径。


1
在发布复制粘贴的样板/逐字回答多个问题时要小心,社区往往会将其标记为“垃圾邮件”。 - Kev
1
@Kev 那重复的问题怎么办? :P - Timothy003

3

emulator-arm.exe 出错,无法运行。问题是我的笔记本电脑有两个显卡,并且只选择了一个(性能更好的 Nvidia 555M)。通过从 Nvidia mediu 中选择另一个显卡(选择基础的英特尔显卡),模拟器成功启动!


2
记得在更改Android SDK路径后运行“android update avd -n avd_name”。

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