分享

adb 提示adb server version(31) doesnt match this client(40) 解决办法

 敢拼才会赢xy 2020-07-10
有时候我们用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版本号,以及运行的环境。需要连接的设备是模拟器还是真机。等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多