【问题标题】:Android app crashes after integrating React Native with NoClassDefFoundError: com.facebook.react.bridge.JSPackagerWebSocketClient将 React Native 与 NoClassDefFoundError 集成后,Android 应用程序崩溃:com.facebook.react.bridge.JSPackagerWebSocketClient
【发布时间】:2017-03-09 07:08:17
【问题描述】:

我将 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。

【问题讨论】:

    标签: java android react-native


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      相关资源
      最近更新 更多