Eclipse 不断启动新的模拟器

Posted

技术标签:

【中文标题】Eclipse 不断启动新的模拟器【英文标题】:Eclipse keeps starting new emulators 【发布时间】:2011-12-23 22:09:34 【问题描述】:

我正忙于学习如何为 android 构建应用程序,遇到了一个非常尴尬的问题。

当我运行我的应用程序(其中带有播放图标的绿色圆圈)时,它会启动一个 Android 模拟器(就像它应该的那样),但一旦启动模拟器,应用程序就不会启动。当我再次单击运行按钮时,它会尝试启动第二个 android-emulator。在控制台选项卡中,它提供以下消息:

[2011-11-07 20:57:15 - ScrollView Demo] Android Launch!
[2011-11-07 20:57:15 - ScrollView Demo] adb is running normally.
[2011-11-07 20:57:15 - ScrollView Demo] Performing testapp.scrollviewdemo.MainActivity activity launch
[2011-11-07 20:57:15 - ScrollView Demo] Automatic Target Mode: launching new emulator with compatible AVD 'Android_emulator'
[2011-11-07 20:57:15 - ScrollView Demo] Launching a new emulator with Virtual Device 'Android_emulator'
[2011-11-07 20:57:18 - Emulator] WARNING: Data partition already in use. Changes will not persist!
[2011-11-07 20:57:18 - Emulator] WARNING: SD Card image already in use: C:\Users\Roy\.android\avd\Android_emulator.avd/sdcard.img
[2011-11-07 20:57:18 - Emulator] WARNING: Cache partition already in use. Changes will not persist!

这就像 Eclipse 不识别它启动的模拟器...... 奇怪的是,有时它会识别它,但大多数时候它不会。

如果有什么不同:我在 Win7 Home Premium 64 位上运行带有 ADT 15.0.0 的 Java 开发人员的 Eclipse IDE(Indigo Service Release 1)

【问题讨论】:

Eclipse 有问题。我建议使用实际的 android 设备进行调试。与模拟器相比,它的响应速度更快,调试速度也更快。 部署安卓应用需要很长时间,而且几乎没有迹象表明它在做什么。你确定等得够久吗? 感谢快速 cmets! @ onit:我有一个真正的安卓设备,但因为那是我的日常手机,我不想用它来测试它上面的各种东西。这就是为什么我想使用模拟器。我知道它的速度较慢,但​​只要它起作用,我就可以接受。 @ willmel:我曾经让它在那里坐了大约 15 分钟,所以我很确定这不是问题。 我使用模拟器是因为作为一个挨饿的学生,我还买不起。 【参考方案1】:

如果模拟器已经启动,那可能意味着 adb 正在运行。在 windows 上不确定,但在 mac/linux 上,我执行以下操作:

adb kill-server
sudo adb devices

你可以试试(摆脱 'sudo' 业务)。

【讨论】:

这成功了!感谢您的回答! (因为我在 Windows 上,所以 sudo 不适用于你解释的我的情况)。对于其他有此问题的人:您必须通过任务管理器杀死 abd-proces,并使用 cmd-window 启动它。在执行此操作时,您让 eclipse 和模拟器保持打开状态。再次启动 adb 后,虚拟设备将出现在 Eclipse 的 DDMS 屏幕中。 我先是this problem,然后是这个,但幸运的是这个答案解决了它。 :)【参考方案2】:

我认为你等待的时间不够长。有3个阶段要经历

等到 android 徽标在启动时消失(除非您禁用了启动动画) 等待锁定屏幕出现。 等待应用实际安装到设备上(您将收到一条消息,提示“正在模拟器设备上安装 nameOfApp #whatever”)

整个过程需要 3 到 15 分钟。要加快速度,请确保将模拟器保持开启状态,然后您只需执行第 3 步。

如果您在这一切完成之前再次尝试单击“运行”,它会错误地假设没有模拟器启动并启动一个新的。

您还可以通过选择Window -> Android SDK and AVD Manager 并选择Virtual Devices 来确保您的模拟器正常。您甚至可以先启动设备(第 1 阶段和第 2 阶段),而无需实际安装您的应用程序。您还可以通过选择 Eclipse 右上角的 DDMS 或Window -> Open Perspective -> Other -> DDMS

,使用 DDMS 检查设备的状态(并确保它没有实际安装您的应用程序然后静默崩溃)

希望这会有所帮助。

【讨论】:

感谢您的回复!为了测试这个答案,我使用 Android AVD 启动了虚拟设备。我让它启动到锁定屏幕,解锁屏幕并让它在那里停留 30 多分钟。我检查了 DDMS 屏幕,它是空的。当我按下“运行”按钮时,它开始启动模拟器的第二个实例。所以这个答案没有运气。另一个答案(关于 abd 服务)确实解决了我的问题,但就像我说的:感谢您抽出宝贵时间详细写出答案!【参考方案3】:

杀死当前正在运行的服务器的最佳方法

adb kill-server

【讨论】:

【参考方案4】:

启动模拟器后,检查模拟器名称是否已经反映在Eclipse->DDMS->Devices中。如果它被称为“在线”,您可以只运行该应用程序,它不会启动新的模拟器。如果它被提及为“离线”,请转到“查看菜单”选项(设备窗口中的一个小向下箭头按钮)并重置 adb。这将重新启动 adb 并使模拟器在线。

【讨论】:

【参考方案5】:

转到命令提示符并设置存储 adb 的路径并给出以下命令: 首先通过给出命令 adb kill-server 杀死 adb 然后通过给出命令 adb start-server(for windows) 来启动 adb 否则还有另一个选项去 DDMS 并重新启动 adb。

【讨论】:

【参考方案6】:

我根本不相信你所看到的是一个错误。

您可能不需要重新启动 adb。

发生了什么是这样的:

如果您正在运行的当前模拟器不适合您尝试运行的项目的最低 SDK。 Android SDK 管理器将运行符合最低 sdk 要求的模拟器。

【讨论】:

以上是关于Eclipse 不断启动新的模拟器的主要内容,如果未能解决你的问题,请参考以下文章

Android模拟器没有启动?

Android Emulator警告来宾不在线 - 如何关闭新的快速启动功能?

模拟器开发

应用程序在模拟器中运行时卡在启动画面上

eclipse中启动Genymotion模拟器的错误

android:eclipse看着很舒服的字体和启动速度很快android模拟器