无法连接设备,端口被占用

本文介绍了当遇到“adbserverisoutofdate.killing”错误时的解决步骤。该问题通常由5037端口被其他进程占用引起。文中详细记录了如何查找占用端口的进程并将其终止,从而恢复正常adb设备连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,久未出现的著名的“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

  1. 原因:

adb的端口(5037)被占用了。至于这个5037端口,可以参考本博客另外 一篇文章:

http://blog.youkuaiyun.com/liranke/article/details/4999210
在这个文章里,详细说明了adb的原理及其源码分析。

  1. 解决方法:

在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值