• (转载)adb 提示adb server version(31) doesn't match this client(40) 解决办法


    有时候我们用adb工具去连接安卓设备,或者模拟器的时候,会提示adb server version(31) doesn’t match this client(40)这样的提示。如图


    提示的字面意思就是当前client版本40,与server端的版本不匹配,当前版本过高引起的。注意,这里的client就是你电脑已经安装的adb程序的版本,而server,也就是你的服务端,将要connect的设备。网上说出现这种不匹配只要下载对应的adb版本重新替换你之前安装的adb就行了,对应的android studio 路径就是你的android sdk 目录的platform-tools文件夹里面的adb.exe程序。


    然而事实上却并非就解决问题。这是因为你的电脑安装了,鲁大师手机助手,360手机助手占用了adb的端口引起的。因为套接字的唯一性(一个套接字只能由 协议/网络地址/端口号 唯一确定 ),一个电脑只能有一个程序关联对应的端口,对于adb对应的端口就是5037。为了验证你的5037端口是否被占用,可以用netstat -ano|findstr “5037” 去查找5037对应的端口号的进程id 也就是pid。
    如果有相应的pid,就证明此端口5037有程序占用了。如下图

    果然,5037端口有相应的进程,我们试着去查找相应的进程对应的进程名称,用tasklist |findstr “15828” 结果如下图

    果然,我们找到了一个进程名字,看名字似乎是ludash的拼音缩写开头的,这时候去检查一下你电脑的运行程序,哎呦,还真有一个鲁大师手机助手正在运行,就是它害的我们的adb运行不了,所以我们果断打开进程管理器结束这个进程,如下图。

    单击结束进程把它结束了,然后再运行adb connect server IP 成功运行。
    plus 如果不确定要结束哪个进程,还可以右键让状态条显示出pid进程号。如下图


    也可以使用强制结束命令结束这个进程号对应的进程。taskkill /pid 15828 -t -f 。
    如果此文章未能解决你的问题,欢迎留言反馈。留言时请说明当前adb版本号,以及运行的环境。需要连接的设备是模拟器还是真机。等。


    ————————————————
    版权声明:本文为CSDN博主「aLLLiyyy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/aLLLiyyy/article/details/86555228

    已经认知自己的错误,就该去弥补,为了让之后的日子做到无怨无悔,我必须每天都奋斗!!!
  • 相关阅读:
    C/C++
    不使用判断语句求一组数中的奇数/偶数个数
    heap(堆)
    One-Hot Encoding(独热编码)
    泰坦尼克号生存预测
    LaTeX 使用笔记
    python学习 —— seaborn、matplotlib、pandas、numpy package的混合使用
    Python 读取本地*.txt文件 替换 内容 并保存
    MySQL基本命令脚本
    MySQL简介
  • 原文地址:https://www.cnblogs.com/LYLNICE/p/11713352.html
Copyright © 2020-2023  润新知