参考链接: adb server version (31) doesn't match this client (41); killing... 解决此问题
电脑安装了360手机助手占用了adb的端口引起的。因为套接字的唯一性(一个套接字只能由 协议/网络地址/端口号 唯一确定 ),一个电脑只能有一个程序关联对应的端口,对于adb对应的端口就是5037。
为了验证5037端口是否被占用,可以用netstat -ano|findstr "5037" 去查找5037对应的端口号的进程id 也就是pid。
因为博文里已经说了是 手机助手导致的。我也没有去查这个返回的进程id是否是手机助手的。直接退出手机助手,再次adb shell连接手机成功。
c
C:\tools\platform-tools>adb shell
adb server version (22000) doesn't match this client (41); killing...
could not read ok from ADB Server
* failed to start daemon
adb.exe: cannot connect to daemon
C:\tools\platform-tools>netstat -ano|findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 27248
C:\tools\platform-tools>adb shell
* daemon not running; starting now at tcp:5037
* daemon started successfully