此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
我们都知道,连接模拟器设备的字符串里,需要填上各个模拟器的端口号:
# 比如雷电模拟器的端口号为5554
auto_setup(__file__,devices=["Android://127.0.0.1:5037/emulator-5554"])
# 比如mumu模拟器的端口号为7555
auto_setup(__file__,devices=["Android://127.0.0.1:5037/127.0.0.1:7555"])
不同品牌的默认端口号我们搜一下就知道,但是很多同学还会使用模拟器的多开功能,那么这个 多开的模拟器端口号如何查看呢 ?下文我们一起来看看。
之前我们在查看连接到本地的安卓设备列表时,可以使用命令行命令 adb devices
查看,列表会显示出本地安卓设备的序列号:
其实,该命令也会显示出本机的模拟器设备,但与安卓真机不同的是,列表会显示模拟器的 localhost:adb port
,而不是像安卓真机那样显示序列号。
举个例子,我们使用夜神的多开工具开启两个夜神模拟器,然后分别开启俩个模拟器里面的 USB调试
功能,最后使用 adb devices
命令,效果如下:
可以看到,62001 是夜神默认的 1 个端口号,62025 就是我们多开的那个夜神模拟器的端口号。至此,我们就非常快速地拿到了多开模拟器的端口号了。
但是使用命令行查看模拟器端口号时,新手同学还非常容易遇到一些问题:
这个报错非常常见,大致原因有 2 个,1 个是我们电脑上没安装 adb 工具,但这个的可能性比较小;另 1 个是,没有把 adb.exe
的所在路径添加到我们的环境变量当中去,这个原因就常见的多。
所以同学们使用 adb 命令时,如遇到上述报错,不妨检查下自己的环境变量中,是否已经包含了 adb.exe
的所在路径。
如果确保我们的模拟器已经正常开启,并且打开了开发者模式里面的 USB调试
功能,但是我们仍旧不能使用 adb devices
刷新出任何的模拟器设备列表,此时我们就要考虑下是否是当前存在 adb 冲突问题。
什么是 adb 冲突呢?其实就是我们当前的电脑中,存在多个版本的 adb 工具,比如同时存在一个 39 版本和 40 版本的 adb,就很可能出现 adb 冲突,而导致一些设备连接异常。
这种冲突常见于模拟器连接中,因为大多数的模拟器,都是自带 adb 工具的,这个 adb 工具很可能跟我们当前使用的 adb 工具是不一样的版本,就容易导致 adb 冲突。
如何解决 adb 冲突呢?非常简单,只要找到我们电脑中不一样版本的 adb,然后把他们的版本统一成一个版本就行。
举个例子,比如当我们发现,airtest 里面的 adb 版本,和夜神模拟器的 adb 版本不一样,那么我们可以直接复制 airtest 里面的 adb 文件,然后覆盖掉夜神模拟器的 adb 文件:
airtest 的 adb 文件所在路径如下:
夜神模拟器的 adb 文件所在路径如下:
另外这里还需要注意的是,夜神模拟器的 adb 文件命名为 nox_adb.exe
,把 airtest 的 adb 文件复制过来之后,也需要按照夜神模拟器的规则命名。
同理,我们也可以使用 AirtestIDE 的设备连接窗口查看多开模拟器的端口号。同样是先打开 2 个夜神模拟器,然后分别开启它们开发者选项里面的 USB调试
功能,最后点击我们设备连接窗口的刷新 ADB 功能,即可查看:
同样以上述的夜神模拟器多开为例,在夜神模拟器安装的 bin 目录下,打开 BignoxVMS
文件夹,可以看到这里包含了 2 个模拟器的配置文件:
其中 Nox_1
是多开的那个夜神模拟器的配置文件,我们在里面找到 Nox_1.vbox
并打开,找到 guestport=5555
,那里对应的 hostport
,就是我们的目标端口号:
好了,今天查看多开模拟器的小技巧都告诉大家了,方法都非常灵活,同学们可以按需使用。另外还要特别注意里面提到的 adb 不是内部或者外部命令 还有 adb 冲突 这俩个问题,非常常见哦~
Airtest 官网:http://airtest.netease.com/
Airtest 教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b
官方答疑 Q 群:654700783
呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~