转自:
adb server is out of date. killing...
1:今天调试android的时候发现一个诡异的问题
- C:\Users\xxxx>adb start-server
- adb server is out of date. killing...
- ADB server didn't ACK
- * failed to start daemon *
adb 不管执行 shell devices 还是logcat 都会报错
- adb server is out of date. killing...
究其源就是adb server没启动
到stackoverflow上查了一下 经过分析整理如下:
- C:\Users\xxxx>adb nodaemon server
- cannot bind 'tcp:5037'
原来adb server 端口绑定失败
继续查看到底是哪个端口给占用了
- C:\Users\xxxxxx>netstat -ano | findstr "5037"
- TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 15268
TCP 127.0.0.1:5037 127.0.0.1:63733 ESTABLISHED 15268
TCP 127.0.0.1:63733 127.0.0.1:5037 ESTABLISHED 1188
打开任务管理器kill掉15268这个进程。ok
重启eclipse;
PS:这个问题从PID看,金山的手机助手,就是占用的这个端口。所以如果装了金山的杀毒套件,进行手机充电的时候,有可能会出现此问题
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
