提示错误信息
用模拟器和真机来调试程序的时候,eclipse的console总是出现如下的错误:
[2021-01-27 10:37:36 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。
[2021-01-27 10:37:38 - DeviceMonitor] Connection attempts: 1
[2021-01-27 10:37:38 - DeviceMonitor] Connection attempts: 2
错误的原因
这是 DDMS 调用 adb 引发的。经过一番搜索,发现这是 Windows 环境下,adb 的一个限制,也可以说是 bug。当手机上同时运行的进程数大于 64 时, 就会引发 adb 奔溃。更深层次的原因,就是 Windows API 的 WaitForMultipleObjects 所支持的最大句柄数MAXIMUM_WAIT_OBJECTS,即 64。
解决方案
下载相应的adb.exe文件,用它替换掉你安卓上的sdk的platform/tools目录下面的adb.exe。这个问题就不会出现错误了,原理是把最大支持数改为了256个。我的解决方案是下载夜神模拟器,将夜神模拟器的adb.exe复制粘贴一份到安卓上的sdk的platform/tools目录下覆盖旧的adb.exe。至此问题得以解决。