前言
我们都知道,连接模拟器设备的字符串里,需要填上各个模拟器的端口号:
# 比如雷电模拟器的端口号为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"]) 复制代码
不同品牌的默认端口号我们搜一下就知道,但是很多同学还会使用模拟器的多开功能,那么这个 多开的模拟器端口号如何查看呢 ?下文我们一起来看看。
1.使用命令行查看模拟器端口号
之前我们在查看连接到本地的安卓设备列表时,可以使用命令行命令 adb devices
查看,列表会显示出本地安卓设备的序列号:
其实,该命令也会显示出本机的模拟器设备,但与安卓真机不同的是,列表会显示模拟器的 localhost:adb port
,而不是像安卓真机那样显示序列号。
举个例子,我们使用夜神的多开工具开启两个夜神模拟器,然后分别开启俩个模拟器里面的 USB调试
功能,最后使用 adb devices
命令,效果如下:
可以看到,62001是夜神默认的1个端口号,62025就是我们多开的那个夜神模拟器的端口号。至此,我们就非常快速地拿到了多开模拟器的端口号了。
但是使用命令行查看模拟器端口号时,新手同学还非常容易遇到一些问题:
1)'adb' 不是内部或外部命令,也不是可运行的程序
这个报错非常常见,大致原因有2个,1个是我们电脑上没安装adb工具,但这个的可能性比较小;另1个是,没有把 adb.exe
的所在路径添加到我们的环境变量当中去,这个原因就常见的多。
所以同学们使用adb命令时,如遇到上述报错,不妨检查下自己的环境变量中,是否已经包含了 adb.exe
的所在路径。
2)adb devices刷不出任何模拟器设备
如果确保我们的模拟器已经正常开启,并且打开了开发者模式里面的 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文件复制过来之后,也需要按照夜神模拟器的规则命名。
2.使用AirtestIDE查看模拟器端口号
同理,我们也可以使用AirtestIDE的设备连接窗口查看多开模拟器的端口号。同样是先打开2个夜神模拟器,然后分别开启它们开发者选项里面的 USB调试
功能,最后点击我们设备连接窗口的刷新ADB功能,即可查看:
3.在多开模拟器的配置文件里查看其端口号
同样以上述的夜神模拟器多开为例,在夜神模拟器安装的bin目录下,打开 BignoxVMS
文件夹,可以看到这里包含了2个模拟器的配置文件:
其中 Nox_1
是多开的那个夜神模拟器的配置文件,我们在里面找到 Nox_1.vbox
并打开,找到 guestport=5555
,那里对应的 hostport
,就是我们的目标端口号:
小结
好了,今天查看多开模拟器的小技巧都告诉大家了,方法都非常灵活,同学们可以按需使用。另外还要特别注意里面提到的 adb不是内部或者外部命令 还有 adb冲突 这俩个问题,非常常见哦~