adb server is out of date. killing完美解决

来源:互联网 发布:java ssh jar 编辑:程序博客网 时间:2024/03/29 18:53
参考:http://blog.csdn.net/liranke/article/details/42524851
今天,久未出现的著名的“adb server is out of date.  killing”又发生了,在此,将解决方法记下,以便日后查看
1. 错误信息:
C:\Users\Administrator>adb devices
adb devicesadb server is out of date.  killing...
ADB server didn't ACK* failed to start daemon *error: unknown host service

2. 原因:
adb的端口(5037)被占用了。至于这个5037端口,可以参考本博客另外 一篇文章:
http://blog.csdn.net/liranke/article/details/4999210
在这个文章里,详细说明了adb的原理及其源码分析。

3. 解决方法:
在cmd窗口:
C:\Users\Administrator>adb nodaemon server
cannot bind 'tcp:5037'
C:\Users\Administrator>netstat -ano | findstr "5037"
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       8516
  TCP    127.0.0.1:5037         127.0.0.1:59163        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:59164        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:59167        TIME_WAIT       0

C:\Users\Administrator>tasklist | findstr "8516"
sjk_daemon                        8516 Console                    1     3,071 K

哦,原来是sjk_daemon进程占了adb的端口。
Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         24 K
System                           4 Services                   0      1,128 K
sjk_daemon                     963 Console                    1      3,071 K
tasklist.exe                  1260 Console                    1      5,856 K

将这个进程kill掉:
C:\Users\Administrator>taskkill /f /pid 963
如果这个命令提示无权限,那么,可以去windows的“任务管理器”中“进程”那个窗口,找到这个进程,将它杀掉。

再运行adb devices,就没有问题了。
C:\Users\Administrator>adb devices
4df7f482396a301d        device

4、sjk-daemon.exe 是金山手机助手的进程,在正常状态下是开机自动启动的,kill之后还是不行?
   解决方法:打开“金山毒霸”-->“设置”-->“实用工具设置”-->“手机助手”-->“禁止手机助手组件”,然后重启电脑就OK了

C:\Users\Administrator>adb devices
List of devices attached
494f335a        offline
原创粉丝点击