解决:Adb connection Error:远程主机强迫关闭了一个现有的连接

来源:互联网 发布:淘宝教学视频教程全集 编辑:程序博客网 时间:2024/05/16 01:58

eclipse 的 Console 总是出现如下的错误”Adb connection Error:远程主机强迫关闭了一个现有的连接”。

[2013-07-12 10:37:36 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。[2013-07-12 10:37:38 - DeviceMonitor] Connection attempts: 1

问题出现的原因:这是ddms调用adb引发的. 经过一番搜索, 发现这是windows环境下, adb的一个限制, 也可以说是bug. 当手机上同时运行的进程数大于64时, 就会引发adb奔溃. 更深层次的原因, 就是windows API的WaitForMultipleObjects所支持的最大句柄数是MAXIMUM_WAIT_OBJECTS, 即64.

通过查找网上的解决方法
1.解决方法:DDMS → Devices → Reset adb

但是我的依然没有解决相关问题,有种治标不治本的感觉……

2.解决方法:
http://code.google.com/p/android/issues/detail?id=12141

下载相应的adb.exe文件,用它替换掉你机器上的sdk的platform/tools目录下面的adb.exe。

但我的问题依然存在,但在网上搜索的有同学这样解决的,供参考~

3.解决方法:{我的问题彻底解决完毕,推荐做下测试}

我的问题为Eclipse虚拟机开启的时候,查看Windows任务管理器可以清楚地看到,每隔一段时间10几秒大概,会有两个adb.exe跳出来,基本上可以想到应该是有其他软件的adb服务占用.这里就提供一个工具查看当前运行的两个adb属于哪个软件.(我的为WPS软件的)
解决方法,如下步骤所示:

1.下载附件,解压打开ProcessHacker.exe检测工具,下载地址:http://pan.baidu.com/s/1i5qAosP
2.点击ProcessHacker.exe检测工具里的”Processes”按钮,在查找一会间隔跳出来的adb.exe,在哪个软件下运行着的.我的直接可以看到adb.exe是在wps.exe下运行着的.
3.直接卸载所属软件,不需重启Eclipse,数字就不在烦人的1-11数数了~~
出现问题的Processes没有截图,仅提供运行正常时的图片,表示歉意,希望有此问题的童鞋尽早解决~

这里写图片描述

另提供网上另一个关于此类问题的解答:(供参考)

目前,针对Android手机研发的刷机软件和手机助手软件,都会调用Google开发的adb工具与手机进行通信。

有的刷机软件或者手机助手软件,在系统里会常驻一个服务,独占adb的端口(5037),这样导致Eclipse无法检测到设备。

豌豆荚:后台常驻adb服务为wandoujia_daemon.exe;
QQ音乐:后台常驻adb服务为tadb.exe;
腾讯管家:后台常驻adb服务为tadb.exe;
360刷机:后台常驻adb服务为360shuaji.exe
金山毒霸:后台常驻adb服务为kxeconn.exe;
91助手:后台常驻adb服务为AndroidInterface.exe;
迅雷:后台常驻adb服务为adb.exe。

…….

解决方法,如下步骤所示:

1.下载附件,解压打开ProcessHacker.exe检测工具,下载地址:http://pan.baidu.com/s/1i5qAosP
2.点击ProcessHacker.exe检测工具里的”Network”按钮,查找占有5037端口(adb server端口)的进程,如下图所示:
这里写图片描述

3.发现了进程是tadb.exe后请打开任务管理器(同时按住ctrl+alt+delete键),进入【进程】选项后点击该进程结束进程,然后再重启Eclipse即可。

这里写图片描述

如果以上方法仍然无法解决你的问题请卸载电脑上所有第三方手机助手类软件后重启电脑。

0 0