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