在Eclipse中调试Android项目突然不再起作用了

5

我正在使用Windows机器进行开发。

一切都很顺利,直到昨天我看到了更新提示并更新了我的ADT插件。

今天当我尝试调试我的测试项目时,我遇到了以下两种情况之一:

1)Logcat永远停在“sending wait chunk”消息上。

控制台显示:

[2010-08-15 19:05:58 - TestProject] Project dependency found, installing: Project  
[2010-08-15 19:05:58 - Project] Uploading Project.apk onto device 'emulator-5554'  
[2010-08-15 19:05:58 - Project] Installing Project.apk...  
[2010-08-15 19:06:08 - Project] Success!  
[2010-08-15 19:06:08 - ProjectTest] Launching instrumentation  android.test.InstrumentationTestRunner on device emulator-5554
[2010-08-15 19:06:08 - ProjectTest] Collecting test information  
[2010-08-15 19:06:14 - ProjectTest] Sending test information to Eclipse  
[2010-08-15 19:06:14 - ProjectTest] Running tests...  

Logcat 的输出如下:

D/ActivityManager(   84): Uninstalling process com.mat.project  
I/ActivityManager(   84): Start proc com.mat.project for added application com.mat.project: pid=341 uid=10029 gids={3003, 1015}  
I/System.out(  341): Sending WAIT chunk

我必须手动终止AVM。这是最常见的情况。

2)Logcat显示以下信息,测试项目失败:

[2010-08-15 18:42:40 - (My project)] Test launch failed: Could not connect to:  : 51154
[2010-08-15 18:42:40 - (My project)] Connect to Eclipse test result listener failed

3) Eclipse停止响应。

即使测试单元中没有任何内容,上述情况仍会发生。

在调试时也无法工作。如果不处于调试模式,则测试用例将成功运行(但仍然存在一些问题,如Logcat有时不会发出调试消息)。

我已经尝试了以下方法,但仍没有运气:

  1. 重新安装Android SDK
  2. 下载最新版本的Eclipse并重新下载ADT插件
  3. 使用-clean开关运行Eclipse
  4. 清除测试和测试目标项目,然后重新生成
  5. 切换到新的工作区并重新配置我的项目
  6. 在AVM中启动调试时清除用户数据
  7. 配置一个新的AVM

非常感谢,如果有人能给我指明方向。

提前致谢!

5个回答

8
[2012-09-18 18:03:57 - NotePadTest] Test launch failed: Could not connect to:  : 52122          
[2012-09-18 18:03:57 - NotePadTest] Connect to Eclipse test result listener failed

或者

Launch error: Failed to connect to remote VM

我曾遇到相同的问题,我的解决方法是:

选择“首选项”-“常规”-“网络连接”-“直接连接”

希望这能帮到你。


这在我的系统上完美运行,但在 ADT 升级后突然停止工作。感谢提供的信息。 - Kazriko

2

上周末我决定解决这个问题。试验非常令人沮丧,但最终似乎已经解决了。下面是我的做法:

  • 我用于开发的计算机是 Windows 7 Ultimate(64位)。
  • 我决定重新开始,重新安装所有组件。
  • 首先是最新的Java Runtime。我决定使用32位Java(希望)以获得更好的兼容性。
  • 然后我按照Android SDK页面上的逐步教程进行操作。令我惊讶的是,在Eclipse ADT页面上,我突然看到以下消息:

注意:ADT插件在运行Eclipse 3.6时存在已知问题。在进一步通知之前,请继续使用3.5版。

  • 不确定我是否忽略了此消息,但无论如何。因此Helios不能保证,我下载了Galileo并安装了ADT插件(结果证明我安装32位Java的决定是正确的,因为Galileo只提供x86版本)

不幸的是,这仍然无法解决问题。但是经过一些试验和错误,我找到了一个使测试用例正常运行的方法,即:

  1. 首先,以调试模式启动要测试的应用程序。DVM应该会启动,并且调试器应该会成功附加。
  2. 不要关闭DVM。选择测试用例并单击调试运行按钮。

这样,DVM就不会停留在“发送等待块”消息处,测试用例就可以运行了。

希望能对你有所帮助。


所以,一年半过去了,这个问题仍然存在。我不确定为什么它会随机停止工作。我也尝试了完全重新安装并从Indigo升级到Juno,但没有帮助。将应用程序作为Android应用程序进行调试,然后调试单元测试使其重新开始工作,所以+1。 - i_am_jorf

0

试试这个:运行配置,检查是否选择了默认启动活动,并在目标选项卡中勾选“始终提示选择设备”


0

我刚遇到了这个问题,它让我抓狂。

最后一招,我尝试在我的NexusOne设备上运行测试,而不是模拟器。它们成功地运行完成了。

然后我又在模拟器上尝试了一次,令我惊讶的是,它们居然也能正常工作了。

虽然不是很有信心,但还是值得一试。

祝好运!


我上个周末也尝试解决了这个问题,并发布了我找到的内容。虽然还是有点折中,但比被卡住要好。谢谢! - Edmund Tam

0
尝试在CMD窗口中执行以下命令: %ADB_DIR%\adb kill-server %ADB_DIR%\adb start-server 希望这可以帮助到您。

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