adb server version (31) doesn't match this client (41); killing...

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

  

 

    提示的字面意思就是当前client版本41,与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。

  

 

  果然,5037端口有相应的进程,我们试着去查找相应的进程对应的进程名称,用tasklist |findstr “13656” ,删除失败

  通过在进程里查找,发现是360手机助手,只能卸载了。
  卸载后再次运行:adb devices 成功

  当然前提是确保手机正常连接到电脑,并且手机usb处于调试状态。

  

 

 

  

 

 

 

posted on 2019-10-12 11:14  shaomine  阅读(11946)  评论(0编辑  收藏  举报