火狐安卓扩展调试执行web-ext命令报ECONNREFUSED ::1:5037错误
火狐安卓扩展web-ext运行ECONNREFUSED错误排查方案
该报错是web-ext工具尝试连接本地adb服务默认5037端口失败导致,和防火墙无关的可能性较高,按以下步骤排查处理:
- 第一步检查adb服务及设备连接状态:执行命令
adb version,如果输出版本信息正常,再执行adb devices确认你的测试设备已经被adb识别,设备列表里能看到你命令中填写的XXX设备号。如果adb命令本身报错,说明本地未正确安装Android platform tools,或adb未加入系统环境变量,先完成adb基础配置。如果adb正常但设备不在列表中,检查安卓端是否开启开发者模式与USB调试,是否已授权当前电脑的调试请求。 - 第二步重启adb服务解决端口占用或服务僵死问题:先执行
adb kill-server,再执行adb start-server,等待服务启动完成后,重新运行原web-ext run命令测试。 - 第三步检查adb监听地址适配IPv6:部分系统环境下adb默认仅监听IPv4的
127.0.0.1:5037,而node服务优先尝试连接IPv6的[::1]:5037就会被拒绝。可先执行netstat -ano | findstr 5037(Windows)或lsof -i :5037(macOS/Linux)查看5037端口的监听地址,如果只有127.0.0.1的监听记录,按以下操作配置:设置环境变量
ADB_LIBUSB=1后重启adb服务:Windows在cmd执行set ADB_LIBUSB=1,macOS/Linux执行export ADB_LIBUSB=1,再执行adb kill-server && adb start-server。 - 第四步如果以上步骤都无效,直接在web-ext命令中指定adb IPv4地址绕过解析问题,执行修改后的命令:
web-ext run -t firefox-android --adb-host 127.0.0.1 --adb-device XXX --firefox-apk org.mozilla.fenix
额外添加的--adb-host 127.0.0.1参数会强制web-ext通过IPv4地址连接adb服务,不会再尝试访问::1的IPv6地址。
内容的提问来源于stack exchange,提问作者Priyanshu
相关产品推荐
相关产品推荐

