You need to enable JavaScript to run this app. Windows10+WSL2下ADB报protocol fault connection reset故障求助
优惠活动
大模型
产品
解决方案
定价
更多

Windows10+WSL2下ADB报protocol fault connection reset故障求助

异常根因定位

你遇到的ADB启动失败、连接被重置的核心原因是Android调试依赖的标准端口被非预期进程抢占,和之前配置的WSL2 ADB通信规则、防火墙规则、Android Studio安装文件无关:

  • 标准ADB服务默认监听端口5037被OriginWebHelperService.exe(EA Origin游戏平台的网页辅助后台进程)占用并处于LISTEN状态,Android Studio自带的adb.exe尝试启动时无法绑定该端口,与非ADB进程建立的连接自然会被对方重置,触发protocol fault (couldn't read status)报错
  • Android模拟器调试依赖的端口段起始端口5554被svchost.exe关联的iphlpsvc(IP Helper服务,即WSL2 NAT、端口转发功能的依赖服务)异常占用,会直接导致后续模拟器连接校验失败
无重启电脑的排查&解决步骤
  • 清理5037端口的抢占进程
    以管理员身份打开PowerShell,执行命令终止Origin的辅助后台进程:
    Stop-Process -Name OriginWebHelperService -Force
    执行完成后再运行netstat -ano | findstr :5037,确认5037端口没有处于LISTEN状态的非ADB进程。注:OriginWebHelperService部分版本存在随机抢占本地回环常用端口的问题,之前多日运行正常是因为该服务未触发端口监听,并非原有配置失效
  • 排查5554端口的服务占用根源
    由于该端口被IP Helper服务占用,需检查之前配置的WSL2端口转发规则是否存在范围错误:
    管理员PowerShell下执行netsh interface portproxy show all,查看所有端口转发规则,如果存在将Windows本地5554端口纳入转发范围的规则,直接执行命令删除:
    netsh interface portproxy delete v4tov4 listenport=5554 listenaddress=127.0.0.1
    需明确:WSL2与Windows的ADB通信仅需配置Windows本地5037端口到WSL2内网5037端口的单条转发规则,绝对不要将模拟器使用的5554~5587端口段纳入转发范围,否则IP Helper服务会异常绑定整个端口段的本地监听,导致模拟器无法正常绑定调试端口。
  • 清理端口残留后重启ADB服务
    所有端口占用清理完成后,依次执行命令验证ADB启动状态:
    adb kill-server
    adb start-server
    操作完成后再打开Android Studio,即可正常识别ADB与模拟器设备。
此前排查操作无效的原因说明

你之前尝试的重启ADB进程、重装platform-tools、调整防火墙规则、以管理员身份运行Android Studio等操作,都未触达核心矛盾:这些操作都没有识别到关键调试端口被第三方进程抢占的问题。Android Studio启动ADB时发现5037端口已被其他进程监听,就会直接抛出连接重置的报错,因为它和占用端口的非ADB进程通信时,对方根本不会返回ADB协议要求的状态报文。

防复发配置建议
  • 打开Windows服务列表,找到Origin Web Helper Service项,将启动类型从“自动”改为“手动”,仅在需要使用Origin平台时再启动该服务,避免后台随机抢占常用调试端口
  • 检查WSL2端口转发的持久化脚本,仅保留5037端口的转发规则,不要将其他Android调试端口写入转发配置,避免IP Helper服务异常绑定端口

内容的提问来源于stack exchange,提问作者Monica Aspiras Labbao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 17:45:04