java - 将 React Native 与 NoClassDefFoundError : com. facebook.react.bridge.JSPackagerWebSocketClient 集成后,Android 应用程序崩溃

标签 java android react-native

我将 React Native 集成到现有的 Android 项目中。代码编译得很好,但是当我到达我的应用程序中初始化 React Native 的部分时,应用程序崩溃

回溯的相关部分:

java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created
      Caused by: java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created
        at com.facebook.react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:77)
      Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance(Native Method)
        at com.facebook.react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:70)
      Caused by: java.lang.NoClassDefFoundError: com.facebook.react.bridge.JSPackagerWebSocketClient
        at com.facebook.react.devsupport.DevServerHelper.<init>(DevServerHelper.java:108)
        at com.facebook.react.devsupport.DevSupportManagerImpl.<init>(DevSupportManagerImpl.java:141)

关键部分是

java.lang.NoClassDefFoundError: com.facebook.react.bridge.JSPackagerWebSocketClient.

我不确定为什么找不到此类。在 React Native 源代码中发生此崩溃的位置是 here .

更新:如果相关,在此之前我遇到了编译时错误,我使用解决方案 here 修复了这些错误。 (不包括 okhttp-ws)我想知道这可能是造成这种情况的原因。

更新 2:我开始认为这与排除 okhttp-ws 有关,因为我注意到在 JSPackagerWebSocketClient.java 中有导入,例如:

import okhttp3.ws.WebSocket;

所以我想真正的问题是 original issue 的真正修复方法是什么?我有,这是:

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: okhttp3/internal/ws/RealWebSocket$1.class

我正在使用 React Native v0.31.0。

最佳答案

当我之前在调试菜单中启用“远程调试 JS”时,当我运行我的项目时,有时会出现该错误。

首先,关闭应用程序连接到的上一个网络浏览器选项卡,然后在应用程序中消除错误,然后禁用“远程调试 JS”并重新加载。

这是我描述的常见 JSPackagerWebSocketClient 错误的 1 个解决方案,但我不确定您的问题周围的所有情况, 例如您的集成过程、您的 android 配置、您运行应用程序的方式,或者可能是旧 RN 版本的问题。

关于java - 将 React Native 与 NoClassDefFoundError : com. facebook.react.bridge.JSPackagerWebSocketClient 集成后,Android 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42688854/

相关文章:

android - Wifi 启用广播迟到

android - 使用 Wordpress 数据时遇到问题

ios - 自从升级到 Xcode 10.2 我不能再通过 cli 运行 react-native run-ios

css - 我怎样才能使这个容器作为页脚出现在屏幕上,并使用 React Native 中的 css?

javascript - 使用 ReactJS 在井字游戏应用程序中撤消按钮

java - 了解 SQL 中的表约束

java - 从 String 转换为 byte[] 时遇到问题

java - 拍照并点击确定后相机崩溃

java - 有没有办法猜测使用哪种算法生成哈希 key ?

超过 MSS 时的 Java 套接字发送延迟