解决“adb server version (31) doesn't match this client (36); killing

问题描述:
运行java+appium后,提示adb启动失败,打开运行,cmd窗口,输入“adb start-server”。提示“adb server version (31) doesn’t match this client (36); killing”

问题定位:
此时是因为其他工具(pp助手 360助手等等)占用了adb的端口(adb端口默认是5037)

问题解决:
1.杀掉占用adb端口的其他进程(直接关闭应用程序是解决不了的)
5037为adb默认端口,若5037端口被占用,
a.查看占用端口的进程PID
C:\Users\guoxiuli>netstat -aon|findstr 5037
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 9092
b.通过PID查看所有进程
C:\Users\guoxiuli>tasklist /fi “PID eq 9092”
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
svchost.exe 3676 Services 0 13,800 K
c.杀死占用端口的进程
C:\Users\guoxiuli>taskkill /pid 9092 /f
成功: 已终止 PID 为 9092 的进程。
解决“adb server version (31) doesn't match this client (36); killing
解决“adb server version (31) doesn't match this client (36); killing
2.修改adb的端口
自己配置 adb server 端口,使用一个生僻的值。很简单,只要在系统环境变量中定义 ANDROID_ADB_SERVER_PORT 的值即可。
最好选择一个5位数的端口号(10000 ~ 65535),不易重复。
win下只要在环境变量中增加一个ANDROID_ADB_SERVER_PORT ,值填你自己定义的端口。
linux下只要 export $ANDROID_ADB_SERVER_PORT = 自定义端口,即可