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() 无法处理该包。


要澄清的要点:


这与正常"Could not connect..."消息有何不同

这是服务器合法地未 运行ning 时发生的情况的屏幕截图:

差异包括:

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 中的步骤正确设置了我的机器。

在新构建后我遇到过一次这个错误,然后它随着项目构建和 运行 正确消失了。