赞
踩
背景:最近自动化测试要使用airtest,电脑只有一台,但是设备不止一个,需要设备A自动化控制,同时还要检测设备B的内存使用情况,也就是一控多的情况,这个时候出现了报错:adb server version (40) doesn't match this client (41);因为多个adb的版本不一致,不能同时运行,这里来说一下原因
【注】我这里用的是Mac电脑,如果你是Windows,后面的都不用看了,或者你去买一台Mac,再接着往后看即可,简单方便,成本低廉~
先看问题现象,airtest跑着自动化脚本控制设备A,终端跑着内存检测脚本控制设备B,只要终端一运行,airtest就会随之停止:
其实原因也很简单,就是这句报错的翻译:
adb服务端的版本是40,和客户端的版本41不匹配;
我们查一下系统默认的adb版本:
- (base) ➜ Desktop adb version
- Android Debug Bridge version 1.0.41
- Version 31.0.2-7242960
- Installed as /Users/scofield/Library/Android/sdk//platform-tools/adb
可以看到adb版本确实是41,那我们现在要做的就是把系统上所有的adb版本都换成一样的(airtest这个help文档说了跟没说一样)
1、先找到系统默认的adb存在哪里
用adb version和where adb 都能找到,我的路径如下:
- (base) ➜ Desktop where adb
- /Users/scofield/Library/Android/sdk//platform-tools/adb
找到这个文件夹打开,cd到这个目录下 open . 就能打开文件夹
2、找到airtest的adb存在哪里
直接搜索--adb
找到这两个路径包含mac的adb文件,给他替换成系统默认的那个就可以了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。