createReactContext() 中的 React-Native "Could no connect to development server"
React-Native "Could no connect to development server" in createReactContext()
我的 Android react-native 应用程序崩溃 ExecutionException
。
"Could not connect to development server."
崩溃的方法是ReactInstanceManagerImpl.createReactContext()
。
但这不是正常的错误,如屏幕截图所示:
Logcat 向我展示了这个堆栈跟踪:
Exception in native call from JS
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException:
Could not connect to development server.
at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:860)
at com.facebook.react.ReactInstanceManagerImpl.access0(ReactInstanceManagerImpl.java:98)
at com.facebook.react.ReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(ReactInstanceManagerImpl.java:194)
...
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException:
at com.facebook.react.common.futures.SimpleSettableFuture.get(SimpleSettableFuture.java:68)
at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:831)
... 9 more
Caused by: java.lang.RuntimeException:
at com.facebook.react.bridge.ReactBridge.loadScriptFromFile(Native Method)
at com.facebook.react.bridge.JSBundleLoader.loadScript(JSBundleLoader.java:58)
at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:148)
at com.facebook.react.ReactInstanceManagerImpl.call(ReactInstanceManagerImpl.java:851)
...
这表明服务器已将 javascript 代码发送回设备并且 ReactBridge.loadScriptFromFile()
无法处理该包。
要澄清的要点:
- 这发生在模拟器和设备上(通过 USB 连接)
- 这发生在 Linux(铸币厂)和 Windows (8.1)
- 我按照正常的建议运行
adb reverse tcp:8081 tcp:8081
做了
- 我有 运行
react-native start
而 packager/server 是 运行ning
- 设备确实连接到开发服务器,因为这已记录在打包程序中 window
- 设备点击的URL做return数据,复制到浏览器地址栏就可以看到
这与正常"Could not connect..."消息有何不同?
这是服务器合法地未 运行ning 时发生的情况的屏幕截图:
差异包括:
- 错误信息前没有
ExecutionException
或RuntimeException
- 提供在服务器上调用的 URL 的进一步说明
- 错误来自
DevServerHelper.onFailure()
Logcat 显示堆栈跟踪在这种 正常 预期情况下完全不同:
Unable to download JS bundle
com.facebook.react.devsupport.DebugServerException:
Could not connect to development server.
at com.facebook.react.devsupport.DevServerHelper.onFailure(DevServerHelper.java:196)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:140)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
这似乎是由于未正确安装 Windows 构建工具造成的。这破坏了我的项目所需的 node-gyp
命令。
按照 the node-gyp page 中的步骤正确设置了我的机器。
在新构建后我遇到过一次这个错误,然后它随着项目构建和 运行 正确消失了。
我的 Android react-native 应用程序崩溃 ExecutionException
。
"Could not connect to development server."
崩溃的方法是ReactInstanceManagerImpl.createReactContext()
。
但这不是正常的错误,如屏幕截图所示:
Logcat 向我展示了这个堆栈跟踪:
Exception in native call from JS
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException:
Could not connect to development server.
at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:860)
at com.facebook.react.ReactInstanceManagerImpl.access0(ReactInstanceManagerImpl.java:98)
at com.facebook.react.ReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(ReactInstanceManagerImpl.java:194)
...
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException:
at com.facebook.react.common.futures.SimpleSettableFuture.get(SimpleSettableFuture.java:68)
at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:831)
... 9 more
Caused by: java.lang.RuntimeException:
at com.facebook.react.bridge.ReactBridge.loadScriptFromFile(Native Method)
at com.facebook.react.bridge.JSBundleLoader.loadScript(JSBundleLoader.java:58)
at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:148)
at com.facebook.react.ReactInstanceManagerImpl.call(ReactInstanceManagerImpl.java:851)
...
这表明服务器已将 javascript 代码发送回设备并且 ReactBridge.loadScriptFromFile()
无法处理该包。
要澄清的要点:
- 这发生在模拟器和设备上(通过 USB 连接)
- 这发生在 Linux(铸币厂)和 Windows (8.1)
- 我按照正常的建议运行
adb reverse tcp:8081 tcp:8081
做了 - 我有 运行
react-native start
而 packager/server 是 运行ning - 设备确实连接到开发服务器,因为这已记录在打包程序中 window
- 设备点击的URL做return数据,复制到浏览器地址栏就可以看到
这与正常"Could not connect..."消息有何不同?
这是服务器合法地未 运行ning 时发生的情况的屏幕截图:
差异包括:
- 错误信息前没有
ExecutionException
或RuntimeException
- 提供在服务器上调用的 URL 的进一步说明
- 错误来自
DevServerHelper.onFailure()
Logcat 显示堆栈跟踪在这种 正常 预期情况下完全不同:
Unable to download JS bundle
com.facebook.react.devsupport.DebugServerException:
Could not connect to development server.
at com.facebook.react.devsupport.DevServerHelper.onFailure(DevServerHelper.java:196)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:140)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
这似乎是由于未正确安装 Windows 构建工具造成的。这破坏了我的项目所需的 node-gyp
命令。
按照 the node-gyp page 中的步骤正确设置了我的机器。
在新构建后我遇到过一次这个错误,然后它随着项目构建和 运行 正确消失了。