“adb server is out of date.

Posted kim_liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“adb server is out of date.相关的知识,希望对你有一定的参考价值。

今天,久未出现的著名的“adb server is out of date.  killing”又发生了,在此,将解决方法记下,以便日后查看。

 

 

1. 错误信息:

 

C:\Users\lizy>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\lizy>adb nodaemon server

cannot bind ‘tcp:5037‘

 

 

C:\Users\lizy>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\lizy>tasklist | findstr "8516"

sjk_daemon                        8516 Console                    1     3,071 K

 

哦,原来是sjk_daemon进程占了adb的端口。

 

C:\Users\lizy>tasklist

 

 

 

 

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\lizy>taskkill /f /pid 963

 

如果这个命令提示无权限,那么,可以去windows的“任务管理器”中“进程”那个窗口,找到这个进程,将它杀掉。

 

 

再运行adb devices,就没有问题了。

C:\Users\lizy>adb devices

4df7f482396a301d        device

以上是关于“adb server is out of date.的主要内容,如果未能解决你的问题,请参考以下文章