• 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版本号,以及运行的环境。需要连接的设备是模拟器还是真机。等。

  • 相关阅读:
    写代码如坐禅:你是哪一类程序员
    开发企业应用系统需要掌握的知识技能(转)
    (转)谈谈多线程的思维方式
    深入理解JavaScript定时机制
    (转)javascritp对fckeditor编辑器操作
    JavaScript异步编程的Promise模式
    (转)jquery调WCF
    (转)《代码大全》学习笔记:第10,11,12,13章 关于变量的使用,命名等
    编程:是一门艺术(转)
    禅修程序员十诫(转)
  • 原文地址:https://www.cnblogs.com/JasonLGJnote/p/11876164.html
Copyright © 2020-2023  润新知