adb server version(31) doesnt match this client(41)


参考

解决:adb 提示adb server version(31) doesnt match this client(41) 解决办法_移动开发_白清羽的博客-CSDN博客


正文

一、有时候我们用 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 成功运行。
我的是 mibileLoader 不能被禁用, 删除了还会恢复, 一直占用 5037 端口, 导致手机和电脑无法连接.
通过 adb 调试手机都没办法进行了, 卸载 360 了.
二、如果上面的还是不能解决:
每当我尝试运行时adb devices

$ adb devices* daemon *not* running. starting it now ** daemon started successfully *List *of* devices attachedHT0ANRV05740    device

它说守护进程没有运行并重新启动守护进程。
然后,如果我再次运行 adb 设备,它会做同样的事情 -

$ adb devicesadb server *is* out *of* date.  killing…* daemon started successfully *List *of* devices attachedHT0ANRV05740    device

然后,如果我再次运行它,它再次做同样的事情 -

            adb server *is* out *of* date.  killing…* daemon started successfully *List *of* devices attachedHT0ANRV05740    device

从网上查到,需要在命令行运行以下 shell 命令获取 deviceName
adb devices -l
然而输入回车后,出现以下错误

`C:\Users\wuhuo>adb devices -l
adb server is out of date.  killing…
ADB server didn’t ACK
* failed to start daemon *
error:

朋友叫我输入adb start-server,结果是这样婶儿的

adb server is out of date.  killing…
ADB server didn’t ACK* failed to start daemon *

网上查了是因为端口有冲突,有其他进程占用了 5037 这个端口。(可以用 adb nodaemon server这个命令查看端口)

解决方法:
用以下命令查看 5037 端口号的应用
netstat -ano | find “5037”
从左至右依次是连接类型、本地地址:端口、外部地址:端口、连接状态、进程的 PID
个人理解,应该杀掉的是本地端口为 5037 的那个进程。(20170319 注:看过多个别人杀进程的帖子,证实想法正确)
看最后一列获得进程的 PID,常规方法是使用以下命令杀掉它:
taskkill /pid xxx
但对于我的情况来说,杀完再 find,它又出现了,喵喵喵?而且再细看一下,这些进程全部都是 genymotion 目录中 tools 文件夹下的 adb.exe,按我的理解不该杀啊。
(20170320 注:实际上很多软件都包括 adb.exe,像豌豆荚及各种手机助手。如果它们启动了,也会占用这个端口。信息来自网上找到 appium 视频教程)
因为已经深夜了,第二天继续研究。今日查到 stackoverflow 上一个帖子:
http://stackoverflow.com/questions/5092542/adb-server-is-out-of-date
答主真是一针见血。。把 genymotion 的 adb 设置为自己的 adb 之后,问题解决了。
Genymotion 默认用的是第一个选项,现改为 custom,然后选择自己的 sdk 文件夹
选择 Setting,
找到 ADB, 点击

选择第二个:Customer Android SDK tools:, 选择 SDK 的文件夹,

再输入 adb devices -l

adb server version(31) doesnt match this client(41)相关推荐

  1. 解决:adb 提示adb server version(31) doesn't match this client(41) 解决办法

    文章部分内容,来源与网络. 一.有时候我们用adb工具去连接安卓设备,或者模拟器的时候,会提示adb server version(31) doesn't match this client(40)这 ...

  2. android studio中连接夜神报错 adb server version doesn't match this client

    原文地址:https://blog.csdn.net/wenzhi20102321/article/details/80934037 仅用于自己做笔记 二.解决方法 解决的办法不难,就是把现在SDK版 ...

  3. 解决:adb 提示adb server version(31) doesn‘t match this client(41) 解决办法

    https://blog.csdn.net/gufenchen/article/details/91383397

  4. adb 提示adb server version(31) doesn't match this client(40) 解决办法

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

  5. adb server version (31) doesn‘t match this client (39) 解决方案

    adb server version (31) doesn't match this client (39) 解决方案 参考文章: (1)adb server version (31) doesn't ...

  6. 在电脑上安装了百度一键root工具后,启动adb提示:adb server version (31) doesn't match this client (36); killing...

    在电脑上安装了百度一键root工具后,adb无法运行,提示: adb server version (31) doesn't match this client (36); killing... er ...

  7. adb server version (31) doesn't match this client

    案例1 报错信息如下 C:\Users\linux>adb shell adb server version (31) doesn't match this client (36); killi ...

  8. 已解决 adb server version 31 doesn't match this client 36

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 运行ad ...

  9. adb连接手机安装和使用,以及提示adb server version(31) doesn‘t match this client(39)解决办法

    1.我已经安装过androidstudio,使用它自带的adb了,将adb.exe的绝对路径:C:\Users\10156578\AppData\Local\Android\Sdk\platform- ...

最新文章

  1. IOS7为什么遭吐槽?
  2. 关于Unity游戏开发方向找工作方面的一些个人看法
  3. grub4dos初级教程-入门篇
  4. 最小熵原理系列:词向量的维度应该怎么选择?
  5. caffe框架下目标检测——faster-rcnn实战篇操作
  6. Codeforces 1480A. Yet Another String Game (阅读理解题)
  7. mybatis配置id自增mysql_mybatis配置oracle的主键自增长
  8. Python:Anaconda安装虚拟环境到指定路径
  9. Java之LockSupport详解
  10. SpringBoot2.1.5 (24): @SpringBootTest单元测试
  11. 人脸验证(一)--Deepface
  12. 第六章 Realm及相关对象——《跟我学Shiro》[张开涛]
  13. 时间复杂度为O(n)的排序(JAVA)
  14. 状态分布函数 详细介绍
  15. 名悦集团:家庭用车买什么国产还是进口好
  16. 一只青蛙跳向三个台阶_青蛙跳台阶算法
  17. 选择服务器系统,服务器系统选择
  18. 实现微信扫描小程序码携带参数和路径跳转页面
  19. 我如何转变了我的YouTube推荐供稿
  20. 谷歌中国推出10款有趣的小工具

热门文章

  1. iphone分辨率_iPhone 的屏幕为什么比安卓更丝滑?
  2. Redis设置外网可访问
  3. Linux后台开发应该具备技能
  4. 三. H.264简介
  5. python 进度条程序_Python:显示程序运行进度条
  6. ccot 目标跟踪全称_Siamese:CVPR 2019 接收论文作者为你解读视频跟踪领域 | CVPR 2019...
  7. sqlserver往oracle写数据,Sqlserver连接oracle进行读写数据库
  8. em算法python代码_EM 算法求解高斯混合模型python实现
  9. conlleval_[转载]CRF++的使用总结
  10. opencv机器学习线性回归_机器学习入门1---简单线性回归