adb doesn't match this client 问题排查解决

问题描述

最近在使用 ADB 连接手机进行调试时,遇到了一个棘手的问题。每次运行 adb devices 命令,都会得到以下错误:

vbscript 复制代码
adb server version (22631) doesn't match this client (41); killing...
could not read ok from ADB Server
* failed to start daemon
adb.exe: failed to check server version: cannot connect to daemon

排查过程

第一轮排查: 检查 ADB 版本冲突

  • 使用 where.exe /r c:\ adb.exe 命令搜索电脑上的所有 adb.exe

  • 发现有两个 ADB:

    makefile 复制代码
    C:\Users\user\AppData\Local\Android\Sdk\platform-tools\adb.exe
    C:\MySpace\DevTools\AssistiveTools\scrcpy-win64-v2.3.1\scrcpy-win64-v2.3.1\adb.exe
  • 检查版本号,两个 ADB 都是 Android Debug Bridge version 1.0.41,版本号 34.0.5-10900879

  • 尝试直接用完整路径运行 adb devices,两个 ADB 仍然报相同的错误

第二轮排查: 检查进程和端口

  • 怀疑有另一个 ADB 服务在后台运行

  • 使用任务管理器、资源监视器等工具搜索进程,未发现可疑的 adb 进程

  • 使用 netstat -aon | findstr 5037 命令查看占用 5037 端口(ADB 默认端口)的进程

    复制代码
    TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       11076
  • 使用 tasklist /fi "PID eq 11076" 查看 PID 为 11076 的进程

    arduino 复制代码
    映像名称                       PID 会话名              会话#       内存使用
    ========================= ======== ================ =========== ============
    360MobileSrv.exe             11076 Console                    1     43,304 K
  • 发现 360 手机助手自带了一个 ADB,并在后台启动了服务,端口号为 5037

问题解决

  • 打开任务管理器,找到 360MobileSrv.exe,结束进程

  • 或者使用命令行:

    r 复制代码
    taskkill /F /IM 360MobileSrv.exe
  • 结束进程后,重新启动 ADB 服务:

    vbscript 复制代码
    adb kill-server
    adb start-server
  • 再次运行 adb devices,问题解决,手机可以正常连接了

总结

  • 遇到问题时,除了查看常规的进程外,还需要检查端口占用
  • 根本解决方案是卸载流氓软件,换用更加安全可靠的软件
  • 作为开发者,要培养 debug 能力,遇到问题不慌张,沉着冷静地分析,总能找到问题所在

希望我的这次排错经历对大家有所启发。欢迎在评论区分享你的 debug 经验和技巧!

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端