起因
对于adb的server和client是否匹配,通常会有类似如下的表现形式:
adb server(版本号) doesn't match the client(版本号)
这个报错整体上还是比较清晰的,此时使用如下命令:
adb version
可以查看到自己的adb client版本。
非必要性
但是由于一些非必要性的误区,导致我们往往忽略这个错误。因为即使出现这个错误,在很多手机上,诸如adb的连接,adb shell中的一系列命令的执行均不受影响。
甚至有更极端的情况,在执行 adb devices 的时候,只有第一次报错,多执行几次就不会再出现。这些非阻碍的情况也往往会使我们忽略这个错误。
必要性
说完非必要性,便有必要性的时候。通常在多设备并行时,这种错误的影响就比较突出了。多设备并行执行adb命令时,有些设备会因为版本不匹配断开连接。这种情况还是比较隐蔽的,所以有这种自动化需求的还是需要解决这个问题。
解决方案
解决方案有两种,一种是server匹配client,另一种是client匹配server,后者更方便一些,附上各版本client的链接:https://github.com/awake558/adb-win 替换掉adb安装路径中的platform-tools 文件夹即可。