Eclipse不断启动新的模拟器

时间:2011-11-07 20:05:51

标签: android eclipse android-emulator

我正忙着学习如何为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 64bit上使用ADT 15.0.0运行Eclipse IDE for Java Developers(Indigo Service Release 1)

6 个答案:

答案 0 :(得分:31)

如果模拟器已启动,则可能意味着adb正在运行。在Windows上不确定,但在mac / linux上我做了以下几点:

adb kill-server
sudo adb devices

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

答案 1 :(得分:5)

我不认为你等待的时间太长了。经历了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检查设备的状态(并确保它实际上没有安装您的应用程序,然后静默崩溃)

希望这有帮助。

答案 2 :(得分:1)

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

adb kill-server

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

我不相信你所见证的是一个错误。

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

这是怎么回事:

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