Wi-Fi连接时物理设备与Metro断开后无法重连,求解决方案
React Native Wi-Fi开发断连问题排查与解决建议
基础网络与环境检查
- 确保电脑和安卓设备处于同一2.4GHz Wi-Fi网络(部分安卓设备对5G Wi-Fi兼容性差,易触发断连)
- 临时关闭电脑防火墙/杀毒软件,测试是否拦截了Metro默认端口(8081)
- 验证电脑本地IP:执行
ipconfig(Windows)或ifconfig(Mac/Linux),确认应用开发菜单中配置的IP与当前电脑IP完全一致
核心配置修正
- 强制Metro绑定电脑IP启动:启动Metro时指定宿主IP,避免自动绑定localhost导致设备无法访问
npx react-native start --host 你的电脑本地IP(如192.168.3.10) - 重新配置应用开发菜单:摇设备唤起开发菜单(或按Ctrl+M),选择「Configure Bundler」,输入电脑IP和8081端口,保存后重启应用
- 正确执行ADB无线连接:
- 保持USB连接设备,执行
adb tcpip 5555开启无线调试端口 - 拔掉USB线,执行
adb connect 设备IP:5555(设备IP可在「设置-关于手机-状态信息」中查看) - 之后直接运行
npx react-native run-android即可无线安装应用
- 保持USB连接设备,执行
进阶调试步骤
- 测试端口连通性:在设备浏览器中访问
http://电脑IP:8081/index.bundle?platform=android,若能下载文件则网络链路正常,否则排查端口拦截或Wi-Fi问题 - 重置Metro缓存:执行
npx react-native start --reset-cache,清除缓存导致的异常连接 - 关闭设备Wi-Fi休眠:进入安卓「设置-Wi-Fi-高级设置」,关闭「休眠时断开Wi-Fi」选项,避免设备锁屏后断连
长效优化方案
- 给电脑设置静态IP:在路由器后台为电脑分配固定IP,避免IP变动导致连接失效
- 使用Android 11+原生无线调试:进入「设置-开发者选项-无线调试」,直接配对设备,无需USB初始化ADB连接
- 固定Metro端口:修改项目根目录
metro.config.js,添加端口配置确保不随机变动:module.exports = { server: { port: 8081, }, // 其他原有配置 };
内容的提问来源于stack exchange,提问作者Wingrider33
相关产品推荐
相关产品推荐

