无法连接远程调试器
在我的情况下,问题是模拟器正在向以下请求发出请求:
http://10.0.2.2:8081/debugger-ui
代替:
http://localhost:8081/debugger-ui
并且请求失败。
解决问题:在您的模拟器上启用远程调试之前,请http://localhost:8081/debugger-ui
在 chrome 中打开。然后启用远程调试并返回 chrome 页面,您应该在其中看到您的控制台日志。
解决了以下问题:
- 按下
Cmd + M
模拟器屏幕 - 去
Dev settings > Debug server host & port for device
- 放
localhost:8081
- 重新运行安卓应用:
react-native run-android
调试器现已连接!
我解决了它adb reverse tcp:8081 tcp:8081
,然后reload
在我的手机上。
在我的例子中,选择Debug JS Remotely启动了 Chrome,但没有连接到 android 设备。通常,新的 Chrome 选项卡/窗口会在地址栏中预先填充调试 URL,但在这种情况下,地址栏是空白的。超时时间过后,显示“无法与远程调试器连接”错误消息。我通过以下程序修复了这个问题:
- 跑
adb reverse tcp:8081 tcp:8081
- 粘贴
http://localhost:8081/debugger-ui
到我的 Chrome 浏览器的地址字段中。您应该会看到正常的调试屏幕,但您的应用程序仍然无法连接。
那应该可以解决问题。如果没有,您可能需要执行以下额外步骤:
- 从您的 Android 设备关闭并卸载该应用程序
- 重新安装应用程序
react-native run-android
- 在您的应用上启用远程调试。
- 您的应用程序现在应该连接到调试器。
我有一个类似的问题,导致我提出这个问题。在我的浏览器调试器中,我收到此错误消息:
从源 ' http://127.0.0.1:8081 '获取在 ' http://localhost:8081/index.delta?platform=android&dev=true&minify=false '的访问已被 CORS 策略阻止:没有 'Access-Control -Allow-Origin' 标头存在于请求的资源上。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。
我花了一段时间才意识到我正在使用127.0.0.1:8081
而不是localhost:8081
用于我的调试器。
要修复它,我只需将 Chrome 从以下位置更改:
http://127.0.0.1:8081/debugger-ui/
到
http://localhost:8081/debugger-ui/