所以我有一个非常强大的Android应用程序,我想在一个活动中添加一些来自仅反应原生的应用程序的代码。我已经浏览了网站上的文档,并且将反应原生应用程序集成到现有的Android原生应用程序中变得更加复杂。在可能的错误中,这是我当前坚持的那个,有谁知道它来自哪里?
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NoClassDefFoundError: com.facebook.react.CoreModulesPackage$1
at com.facebook.react.CoreModulesPackage.getNativeModules(CoreModulesPackage.java:96)
at com.facebook.react.LazyReactPackage.createNativeModules(LazyReactPackage.java:71)
at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:97)
at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:950)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:880)
at com.facebook.react.ReactInstanceManager.access$600(ReactInstanceManager.java:104)
at com.facebook.react.ReactInstanceManager$ReactContextInitAsyncTask.doInBackground(ReactInstanceManager.java:218)
at com.facebook.react.ReactInstanceManager$ReactContextInitAsyncTask.doInBackground(ReactInstanceManager.java:197)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
它当前正在获取捆绑包,它达到100%,但随后活动崩溃,上面的错误输出大约是CoreModulesPackages。
试图让这个东西运行起来非常令人沮丧,似乎有很多方面的错误,我不得不通过aar手动导入反应本机,因为maven上的版本是古老的(0.20),下载okhttp web socket支持,FLog和.so loader东西。还必须排除体系结构特定代码。如果有人知道将RN应用程序集成到现有代码库的更简单方法,我真的很感激。
我是来自本土的,试图了解这件事。我设置了npm,在启动服务器之前捆绑了js,然后运行我的应用程序。之后我转发到正确的8081端口。如果我正在执行错误的步骤,那么请有人纠正我。已经3天了。 HALP。
答案 0 :(得分:2)
我在Android 5.x设备上的本机应用中遇到了同样的错误 - 6或7没有问题。
在我从我的应用程序中删除Fabric.io Crashlytics作为依赖项后,问题不再发生。
答案 1 :(得分:0)
我得到了同样的错误。
通过正确配置multidex for old android解决了问题
在我的情况下,我忘了从MultiDexApplication