使用Appium与Genymotion管理多设备时的连接错误求助
解决Appium+Genymotion多设备连接失败问题
1. 确认并修改Genymotion设备的adb端口
- 打开每台Genymotion设备右上角的设置图标,进入「ADB」标签页
- 检查「Port」字段,确保两台设备的端口完全不重复(adb默认使用偶数端口,比如5554、5556、5558,对应奇数端口为控制端口)
- 若端口重复,手动修改为未被占用的端口,保存后重启设备
2. 重置adb服务,刷新设备连接
在命令行执行以下命令:
adb kill-server adb start-server adb devices
执行完成后确认两台设备都能被adb识别,且设备ID的端口与Genymotion设置一致
3. 配置Appium Capability时指定唯一设备标识
不要仅依赖deviceName或platformVersion,必须添加udid参数,值为adb devices输出的对应设备ID:
- 设备1的Capability示例:
{ "platformName": "Android", "deviceName": "Genymotion Device 1", "udid": "192.168.56.101:5555", "platformVersion": "10", "automationName": "UiAutomator2" }
- 设备2的Capability示例:
{ "platformName": "Android", "deviceName": "Genymotion Device 2", "udid": "192.168.56.102:5555", "platformVersion": "10", "automationName": "UiAutomator2" }
4. 为多Appium会话分配不同端口
如果需要同时启动两个Appium会话,给每个服务指定独立端口:
- 第一个Appium服务:
appium -p 4723 - 第二个Appium服务:
appium -p 4725
客户端连接时需对应指定Appium端口
5. 验证Genymotion网络设置
- 确保两台设备网络模式一致(如「Host-only」),且设备IP无冲突
- 重启Genymotion设备,确保端口配置完全生效
内容的提问来源于stack exchange,提问作者Faruk Dursun
相关产品推荐
相关产品推荐

