首页 > 代码库 > 见招拆招(1)

见招拆招(1)

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

 问题描述

[2014-07-20 13:13:20 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。[2014-07-20 13:13:21 - DeviceMonitor] Connection attempts: 1[2014-07-20 13:13:23 - DeviceMonitor] Connection attempts: 2[2014-07-20 14:06:26 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。[2014-07-20 14:06:27 - DeviceMonitor] Connection attempts: 1[2014-07-20 14:07:01 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。[2014-07-20 14:07:03 - DeviceMonitor] Connection attempts: 1[2014-07-20 14:07:05 - DeviceMonitor] Connection attempts: 2[2014-07-20 14:07:07 - DeviceMonitor] Connection attempts: 3


问题原因

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

 

解决方法

DDMS → Devices → Reset adb

DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。
它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。

DDMS位于SDK-tools路径下,启动