🚦 报 adb server version doesn't match / 5037 端口冲突
← 返回问题清单症状:执行 adb 报「adb server version doesn't match this client; killing…」「could not read ok from ADB server」「failed to start daemon」;或 adb 时好时坏。
1认识成因:谁在抢 5037
adb 服务端固定监听 5037 端口。安卓模拟器(夜神/逍遥/MuMu)、360 手机助手、HBuilder、各类「手机助手」软件都自带一份旧版 adb 并抢占 5037,你的 platform-tools 就会出现「版本不匹配 / 被杀 / 连不上」的循环。
2找出占用进程
$ netstat -ano | findstr 5037
TCP 127.0.0.1:5037 … LISTENING 12345
$ tasklist | findstr 12345
hd-plugin.exe 之类的名字 → 就是它
$ lsof -i :5037
$ sudo ss -tlnp | grep 5037
3处理占用者
- 临时:结束该进程(Windows:
taskkill /PID 数字 /F),立即重试 adb; - 根治:在那款软件的设置里关闭「自带 adb / 设备监控」,或干脆卸载不用的手机助手;
- 确保 PATH 里只有一份 platform-tools 且排在前位;模拟器用户保留模拟器自带 adb 亦可,但别混用两个版本。
4救急:换一个 adb 服务端口
实在躲不开占用者:设置环境变量 ANDROID_ADB_SERVER_PORT=5038 后重开终端。注意这只是救急——端口不同步的其他 adb 客户端(如 Android Studio)会互踢服务端。
🎉 问题解决了!
你在「报 adb server version doesn't match / 5037 端口冲突」上共执行了 步排查并成功恢复。回顾关键点:
5037 被旧版 adb 抢占:netstat 找 PID → 关软件停用其 adb → 只留一份 platform-tools。
🧭 常规手段已用尽
万能收尾组合:结束占用进程 → adb kill-server && adb start-server → 重插设备 → adb devices -l。反复发生就清理掉所有「手机助手」类软件,只留官方 platform-tools。