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

小编遇到这个烦人的问题,总是一直报错,浏览了许多网页,总结了以下几种解决方法(这些都是转载加上自己的见解)

这里本人是用最后一种搞定的,不过有时候需要进入paltform-tools目录下,(因为没有PATH路径),注意这种方法需要启动虚拟记得就是Android

andriod 启动虚拟机的时候报以下错误

[2015-01-25 16:10:29 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。
[2015-01-25 16:10:30 - DeviceMonitor] Connection attempts: 1
[2015-01-25 16:10:32 - DeviceMonitor] Connection attempts: 2
[2015-01-25 16:10:35 - DeviceMonitor] Connection attempts: 3
[2015-01-25 16:10:37 - DeviceMonitor] Connection attempts: 4
[2015-01-25 16:10:39 - DeviceMonitor] Connection attempts: 5
[2015-01-25 16:10:41 - DeviceMonitor] Connection attempts: 6

(第一种)

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://download.csdn.net/detail/qq_21383435/9500011

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



(第二种)

目前,针对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。

…….

解决方法,如下步骤所示(以冲突程序tadb.exe为例):

1.下载附件,解压打开ProcessHacker.exe检测工具,

下载地址:ProcessHacker    

下载地址:http://download.csdn.net/detail/qq_21383435/9500021  
2.点击ProcessHacker.exe检测工具里的”Network”按钮,查找占有5037端口(adb server端口)的进程,如下图所示:

技术分享

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

技术分享

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

如果还是不行,下载第三方的adb工具,原生的adb 有一个限制,也可以说是 bug。当手机上同时运行的进程数大于 64 时, 就会引发 adb 奔溃。更深层次的原因,就是 Windows API 的 WaitForMultipleObjects 所支持的最大句柄数是 MAXIMUM_WAIT_OBJECTS,即 64。

adb破解版下载地址(支持最新版安卓系统):cofface_adb_windows_v1.5



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


(第三种)



  1. [2013-07-19 09:32:07 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。  
  2. [2013-07-19 09:32:08 - DeviceMonitor] Connection attempts: 1  
  3. [2013-07-19 09:32:10 - DeviceMonitor] Connection attempts: 2  
  4. [2013-07-19 09:32:12 - DeviceMonitor] Connection attempts: 3  
  5. [2013-07-19 09:32:14 - DeviceMonitor] Connection attempts: 4  
  6. [2013-07-19 09:32:16 - DeviceMonitor] Connection attempts: 5  
  7. [2013-07-19 09:32:18 - DeviceMonitor] Connection attempts: 6  
  8. [2013-07-19 09:32:20 - DeviceMonitor] Connection attempts: 7  
  9. [2013-07-19 09:32:22 - DeviceMonitor] Connection attempts: 8  
  10. [2013-07-19 09:32:24 - DeviceMonitor] Connection attempts: 9  
  11. [2013-07-19 09:32:27 - DeviceMonitor] Connection attempts: 10  
  12. [2013-07-19 09:32:29 - DeviceMonitor] Connection attempts: 11  

今天打开eclipse真机调试,一直正常,突然Console里一直输出 
Adb connection Error:远程主机强迫关闭了一个现有的连接,不能重新运行程序了。后来把eclipse关掉重启
控制台还是报错。

后来分析一下报错的结果,应该是adb桥与devices之间失去了连接或者连接不匹配了——导致一直在查找设备连接。



解决方法


  1. 运行-->cmd-->adb devices  

结果如图:


这样devices与adb桥之间的连接就正常了。


  1. [2013-07-19 09:32:07 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。  
  2. [2013-07-19 09:32:08 - DeviceMonitor] Connection attempts: 1  
  3. [2013-07-19 09:32:10 - DeviceMonitor] Connection attempts: 2  
  4. [2013-07-19 09:32:12 - DeviceMonitor] Connection attempts: 3  
  5. [2013-07-19 09:32:14 - DeviceMonitor] Connection attempts: 4  
  6. [2013-07-19 09:32:16 - DeviceMonitor] Connection attempts: 5  
  7. [2013-07-19 09:32:18 - DeviceMonitor] Connection attempts: 6  
  8. [2013-07-19 09:32:20 - DeviceMonitor] Connection attempts: 7  
  9. [2013-07-19 09:32:22 - DeviceMonitor] Connection attempts: 8  
  10. [2013-07-19 09:32:24 - DeviceMonitor] Connection attempts: 9  
  11. [2013-07-19 09:32:27 - DeviceMonitor] Connection attempts: 10  
  12. [2013-07-19 09:32:29 - DeviceMonitor] Connection attempts: 11  

今天打开eclipse真机调试,一直正常,突然Console里一直输出 
Adb connection Error:远程主机强迫关闭了一个现有的连接,不能重新运行程序了。后来把eclipse关掉重启
控制台还是报错。

后来分析一下报错的结果,应该是adb桥与devices之间失去了连接或者连接不匹配了——导致一直在查找设备连接。



解决方法


  1. 运行-->cmd-->adb devices  

结果如图:


这样devices与adb桥之间的连接就正常了。


这里本人是用最后一种搞定的,不过有时候需要进入paltform-tools目录下,(因为没有PATH路径),注意这种方法需要启动虚拟记得就是Android


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值