You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native 无法在WSA(Windows子系统安卓)中运行求助

WSA中调试React Native应用时端口占用导致Metro Bundler无法连接的问题

在WSA(Windows Subsystem for Android)中调试React Native应用时遇到端口占用问题,Metro Bundler无法正常连接。真实Android设备上执行端口反向代理操作可正常运行,但WSA中执行失败。

具体错误信息

  • 运行yarn react-native run-android时收到警告:

    warn Failed to connect to development server using "adb reverse": Command failed: C:\Users\hp\AppData\Local\Android\Sdk\platform-tools\adb -s 127.0.0.1:58526 reverse tcp:8081 tcp:8081

  • 应用已安装,但无法正常运行,提示无法连接开发服务器
  • 手动执行adb reverse tcp:8081 tcp:8081时,报错:

    adb.exe: error: cannot bind listener: Address already in use


解决步骤

1. 清除占用8081端口的进程

打开命令提示符(CMD),依次执行以下命令:

# 查找占用8081端口的进程
netstat -ano | findstr :8081

# 终止对应进程(替换<PID>为上一步找到的进程ID)
taskkill /PID <PID> /F

2. 重置ADB连接

adb kill-server
adb start-server
adb reverse --remove-all

3. 重新配置WSA端口反向代理

先通过adb devices确认WSA的设备ID,再执行反向代理命令:

adb -s <你的WSA设备ID> reverse tcp:8081 tcp:8081

4. 重启Metro Bundler并重新运行应用

# 清除缓存并重启Metro
yarn start --reset-cache

# 重新运行应用
yarn react-native run-android

5. 备选方案:更换Metro端口

若8081端口持续被占用,可更换端口:

  1. 修改项目根目录package.json的启动脚本:
"scripts": {
  "start": "react-native start --port 8088",
  "android": "react-native run-android --port 8088"
}
  1. 配置新端口的反向代理:
adb reverse tcp:8088 tcp:8088
  1. 重新执行启动和运行命令

内容的提问来源于stack exchange,提问作者Sandesh Veerani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:35:20