adb device出现error:unknown host service

时间:2021-03-04 03:22:26

最近在windows下使用adb device时,提示“ADB server didn't ACK” & “error: unknown host service”错误。

网上搜索了下,是说adb所要用的5037端口被占用了。该问题如何解决的在这边做下备份。

Step1:在控制台中输入“netstat -ano | findstr "5037”命令来确认当前5037端口被哪个PID占用了。输出如下:

C:\Desktop\ADB>netstat -ano | findstr ""
TCP 127.0.0.1: 0.0.0.0: LISTENING

可以看到当前5037端口正在LISTENING PID为13600的进程,现在再判断13600这个进程是做什么的。

Step2:调用“tasklist /fi "pid eq 13600"”命令来确定进程,结果如下:

映像名称                        PID 会话名               会话#         内存使用
========================= ======== ================ =========== ============
sjk_daemon.exe Console   , K

可以看出13600这个进程对应到“sjk_daemon.exe”这个可执行程式,并不是我们需要的“adb.exe”,网上搜索了下这个可执行程式,说是金山毒霸开启的。既然知道做个可执行程式不影响我们adb的操作,那么下面就需要Kill这个进程。

Step3:使用“tskill 13600”命令来kill掉13600这个PID,然后再输入adb devices来确认是否可以认到。

PS:其实本地遇到该问题时,当Kill掉13600这个PID后,adb devices还是会提示“unknown host serivice”,再次确认5037端口状态,原来该端口又被另一个进程14188占用了。重复上面的3步骤后,adb devices终于可以认到。