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

时间:2017-03-09 07:08:17

标签: java android react-native

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

回溯的相关部分:

  

java.lang.RuntimeException:请求已启用DevSupportManager,但未找到或无法创建DevSupportManagerImpl类         引起:java.lang.RuntimeException:请求启用DevSupportManager,但未找到或无法创建DevSupportManagerImpl类           在com.facebook.react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:77)         引起:java.lang.reflect.InvocationTargetException           at java.lang.reflect.Constructor.newInstance(Native Method)           在com.facebook.react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:70)         引起:java.lang.NoClassDefFoundError:com.facebook.react.bridge.JSPackagerWebSocketClient           在com.facebook.react.devsupport.DevServerHelper。(DevServerHelper.java:108)           在com.facebook.react.devsupport.DevSupportManagerImpl。(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:重复条目:okhttp3 / internal / ws / RealWebSocket $ 1.class

我使用的是React Native v0.31.0。

1 个答案:

答案 0 :(得分:-1)

有时候,当我以前有#34; Debug JS Remotely"在调试菜单中,当我运行我的项目时启用。

关闭应用程序连接到应用程序的先前Web浏览器选项卡,关闭错误然后禁用"远程调试JS"并重新加载。

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