故障排除发布于: 阅读约 3 分钟

adb connect 5555 连接被拒绝 Connection refused 怎么解决

adb connect 报错 Connection refused 或 unable to connect to 192.168.x.x:5555 的原因,如何和连接超时区分开,以及在各个 Android 版本上的解决方法。

运行 adb connect 192.168.1.20 后得到这样的报错:

failed to connect to '192.168.1.20:5555': Connection refused

Connection refused(连接被拒绝) 的意思是手机有回应,但手机上没有任何服务在这个端口监听。网络本身没问题,只是手机的 ADB 服务没有处于网络模式,或者在监听另一个端口。解决办法几乎都是重新打开网络模式。

被拒绝和超时不是一回事

报错含义排查方向
Connection refused手机能连通,但端口没开手机的 ADB 网络模式或端口
Connection timed out / No route to host手机完全没有回应IP 错误、不在同一网络、Wi-Fi 隔离、手机休眠
failed to authenticate / unauthorized已连上,但手机没有授权这台电脑在手机上点击允许

原因一:手机重启过(Android 10 及以下)

adb tcpip 5555 只在下次重启前有效。重启后手机会回到只支持 USB 的模式,拒绝网络连接。这是最常见的原因。

解决方法:用 USB 线连接一次手机,然后运行:

adb tcpip 5555
adb connect 192.168.1.20:5555

运行 adb tcpip 后等一两秒再连接,因为手机需要重启 ADB 服务。

原因二:无线调试用的是另一个端口(Android 11+)

无线调试的端口 不是 5555。它是随机的,每次打开开关都会变。打开 开发者选项 › 无线调试 (Wireless debugging),使用页面顶部显示的 IP 地址和端口 (IP address & Port):

adb connect 192.168.1.20:41237

另外要注意,配对 端口(点击「使用配对码配对设备」后显示的那个)又是另一个端口,只能用于 adb pair。

原因三:无线调试自己关掉了

离开当前 Wi-Fi 网络时,Android 会自动关闭无线调试,有些手机在重启后或一段时间不用后也会关闭。重新打开即可。电脑仍然保持配对状态,只需要再运行 adb connect。

原因四:地址输错了

如果这个地址属于网络中的其他设备,比如路由器或电视,它也可能拒绝连接。在 设置 › WLAN › 当前网络 或无线调试页面中核对手机的地址。路由器可能给手机分配新的 IP,如果经常连接,可以在路由器上设置 DHCP 地址保留。

原因五:手机上的防火墙或 VPN

一些安全软件、工作资料 (work profile) 和 VPN 会拦截传入的连接。暂停它们后再试一次。

在 ADBKit 中解决

ADBKit 的 TCP/IP 连接能区分这两种情况。手机 拒绝 连接时,它会提示网络模式已关闭(每次重启都会这样),并提供 Plug in by USB and switch it on again 选项。点一下,ADBKit 就会通过 USB 帮你完成 adb tcpip 这一步,然后通过网络连接。手机完全没有回应时,则会显示网络方面的检查项。此功能需要电脑上安装 ADBKit 代理程序 1.2.0 或更高版本。

快速检查清单

  1. 运行 adb tcpip 之后手机重启过吗?插上线再运行一次。
  2. 是 Android 11+ 吗?使用无线调试页面上显示的端口,而不是 5555。
  3. 无线调试还开着吗?手机还连在同一个 Wi-Fi 上吗?
  4. 这个 IP 真的是手机的吗?

更多背景知识见 不用数据线怎么用 ADB 和 通过 Wi-Fi 使用 ADB。