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

做android开发的时候eclipse的console一直出现这个问题,有时候是启动eclipse后就出现这个问题,有时候是运行android程序的时候出现的,重启avd和重启eclipse都不行。后面在网上找到了解决办法。

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

在网上找到了别人发的adb.exe,替换掉android sdk安装目录的platform-tools下的adb.exe文件。这个问题就不会出现错误了,原理是把最大支持数改为了256个。

文件下载地址:http://code.google.com/p/android/issues/detail?id=12141

 

 

如果不行的话就用第二种方法

 

eclipse中视图模式选择DDMS(还有常见的java和debug视图), 显示Devices窗口,若无可通过选择window->show view->Devices显示,再选择下拉箭头中的reset adb


 

此时eclipse会再自动重试一次,输入Connection attempts:1即表示成功啦

 第三种方法

 

在开发安卓系统时,有时DDMS控制台会弹出以下信息:

[2012-02-18 17:17:11 - DeviceMonitor]Sending Tracking request failed!
[2012-02-18 17:17:11 - DeviceMonitor]Adb connection Error:远程主机强迫关闭了一个现有的连接。
[2012-02-18 17:17:12 - DeviceMonitor]Sending Tracking request failed!
[2012-02-18 17:17:12 - DeviceMonitor]Adb connection Error:远程主机强迫关闭了一个现有的连接。

一般在linux平台下是不会报这个错的,

很简单就能解决 

第一步  :打开任务管理器,列出所有的用户进程  ,强制终止所有的 adb.exe 进程

第二步 : 进入手机管理界面。调试界面有个 可调试的选项, 关闭一次后打开,把数据线从新连一次电脑

第三步: 在电脑终端下面进入自己的(如果没有配置环境变量) sdk路径下tools 或tools7 目录下面 ,输入    adb kill-server 然后输入 adb start-server 有配置环境变量的话,直接输入这两个命令就好了

至此 大公告成。

原因 ,有的人装了豌豆荚来安装手机驱动。豌豆夹会启动一个adb.exe进程。与现有adb进程冲突。。

不用的时候关闭或者卸载 豌豆荚即可

有的人不支持eclipse 不支持 pad,或者等级高的手机。。 对2.2 或者更低的手机支持的很好。 这样的话 在eclipse 里面 检查更新,或者直接sdk 目录下有个更新程序,点击更新 adb到最新版本, 而且adb一般情况下好像不需要特意安装手机驱动就可以连接手机。

 

别一解决办法:

1.关掉豌豆荚之后

2.开始->运行->cmd,进入到安卓的目录下android-sdk-windows\platform-tools,

运行以下命令即可:

adb devices

 

 
posted @ 2014-10-08 23:11  修行,波动线  阅读(454)  评论(0编辑  收藏  举报