React native android “反应自然”;无法连接到开发服务器“;在createReactContext()中

React native android “反应自然”;无法连接到开发服务器“;在createReactContext()中,react-native-android,React Native Android,我的Android react本机应用程序因执行异常而崩溃 “无法连接到开发服务器。” 崩溃的方法是ReactInstanceManagerImpl.createReactContext() 但这不是正常错误,如此屏幕截图所示: Logcat向我显示此堆栈跟踪: Exception in native call from JS java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.Runti

我的Android react本机应用程序因执行异常而崩溃

“无法连接到开发服务器。”

崩溃的方法是
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.access$700(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$2.loadScript(JSBundleLoader.java:58)
        at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:148)
        at com.facebook.react.ReactInstanceManagerImpl$4.call(ReactInstanceManagerImpl.java:851)
        ...
这表明服务器已将javascript代码发送回设备,
ReactBridge.loadScriptFromFile()
无法处理该捆绑包


需要澄清的要点:

  • 这发生在模拟器和设备上(通过USB连接)
  • 这种情况发生在Linux(Mint)和Windows(8.1)上
  • 我确实按照正常的建议运行了
    adb反向tcp:8081 tcp:8081
  • 我已经运行了
    react native start
    ,打包机/服务器正在运行
  • 设备确实连接到开发服务器,因为这会记录在packager窗口中
  • 设备点击的URL确实会返回数据,如果复制到浏览器地址栏中就可以看到

这与正常的“无法连接…”消息有何不同

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

区别包括:

  • 错误消息之前没有
    ExecutionException
    RuntimeException
  • 进一步明确提供在服务器上调用的URL
  • 错误来自
    DevServerHelper.onFailure()
Logcat显示stacktrace在这种正常预期情况下非常不同:

Unable to download JS bundle
com.facebook.react.devsupport.DebugServerException:
 Could not connect to development server.
        at com.facebook.react.devsupport.DevServerHelper$1.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构建工具造成的。这破坏了我的项目所需的
节点gyp
命令

按照上的步骤正确设置了我的机器


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

我发现了两篇可能相关的文章,没有更多有用的信息:和