今天,久未出现的著名的“adb server is out of date. killing”又发生了,在此,将解决方法记下,以便日后查看。
错误信息:
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原因:
adb的端口(5037)被占用了。至于这个5037端口,可以参考本博客另外 一篇文章:
http://blog.youkuaiyun.com/liranke/article/details/4999210
在这个文章里,详细说明了adb的原理及其源码分析。解决方法:
在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:
工具包说明
完整的ADB工具包,总共有四个文件,两个exe后缀,两个dll后缀。
完整的工具包里面会有fastboot文件,是exe后缀的。使用之前,打开工具包看一下就行了,这就叫确认有fastboot,如果没有,那就不是完整的工具包
这个是Google提供的ADB工具包,里面还带有fastboot.exe
安装说明
1、将名称中含有adb的文件,和fastboot.exe复制到 c:/windows/system32目录
2、将名称中含有adb的所有文件复制到 c:/windows/system目录
如何使用
手机连接电脑,开启“USB调试”
开始菜单——运行进入adb
输入adb devices,回车,即可连接。