》netstat -ano
查看所有正在运行的进程和其对应端口号
然后我们找我们要杀死的进程 比如说是:1900端口对应的进程
则输入:netstat -ano | findstr “:1900”
看到起PID进程id为1540 我们打开任务管理器
看1540所对应的服务的名字
为系统服务SSDPSRV
然后可以手动停止该服务,也可以用命令行taskkill /f /t /im 进程名称杀死该进程
解决方法:
在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