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

React Native安卓模拟器远程调试添加主机名端口失败排查

解决React Native安卓模拟器远程调试「failed to add hostname and port to remote debugger」错误

我之前也碰到过一模一样的问题,折腾了好一会儿才搞定,给你列几个最可能的原因和对应的解决办法:

1. 确认本地Metro调试服务器是否在运行

有时候我们以为服务器开着,但其实可能已经意外停止了:

  • 打开启动React Native项目的终端,查看是否有Metro Bundler运行的提示
  • 如果没运行,重新执行 npx react-native start 启动服务器

2. 检查「设备调试服务器主机与端口」的输入准确性

别小看这个细节,很多时候是输入失误导致的:

  • 确保输入的是 localhost:8081,不要加任何多余字符(比如空格、斜杠)
  • 部分第三方模拟器(比如Genymotion)可能需要用电脑本地IP代替localhost,比如192.168.x.x:8081(可以通过终端执行ipconfig(Windows)或ifconfig(Mac/Linux)查看本地IP)

3. 重新配置ADB反向代理

有时候adb reverse命令执行后没生效,或者被系统重置了:

  • 先执行 adb reverse --remove-all 清除所有已有的反向代理规则
  • 再重新执行 adb reverse tcp:8081 tcp:8081
  • 执行完后用 adb reverse --list 确认是否显示tcp:8081 tcp:8081,出现这条记录才说明规则生效

4. 排查防火墙/杀毒软件的拦截

电脑的防火墙或杀毒软件可能会阻止Metro服务器和模拟器之间的通信:

  • 暂时关闭防火墙/杀毒软件,再尝试重新加载调试
  • 如果关闭后能正常连接,记得给node.exe(Metro服务器的进程)添加防火墙允许规则

5. 清除React Native调试缓存

缓存异常也可能引发这类奇怪的错误:

  • 在模拟器里打开开发者菜单(按Ctrl+M或摇晃设备),选择「Clear Cache」
  • 或者在终端执行 npx react-native start --reset-cache,重启服务器并强制清除缓存

6. 验证模拟器网络连通性

确保模拟器能正常访问本地网络:

  • 在模拟器的浏览器中输入 http://localhost:8081/index.bundle?platform=android,如果能看到一堆代码,说明网络连接正常;如果打不开,那就是网络层面的问题

内容的提问来源于stack exchange,提问作者Pranab V V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:45:49