React Native 应用程序在 Android 上启动时崩溃:找不到类“com.facebook.react.devsupport.DevSupportManagerImpl”

the*_*ker 2 crash android classnotfoundexception react-native

我正在使用 React Native v 0.62.2,并且我正在尝试让我的项目在 Android 上运行。到目前为止,我的开发重点是 iOS,因此从未运行过 Android 应用程序。现在我想运行 Android 应用程序,但在显示闪屏并显示以下堆栈跟踪后,应用程序在启动时崩溃:

\n
    java.lang.RuntimeException: Unable to create application com.myapp.MainApplication: java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created\n        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6612)\n        at android.app.ActivityThread.access$1300(ActivityThread.java:233)\n        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1896)\n        at android.os.Handler.dispatchMessage(Handler.java:106)\n        at android.os.Looper.loop(Looper.java:223)\n        at android.app.ActivityThread.main(ActivityThread.java:7523)\n        at java.lang.reflect.Method.invoke(Native Method)\n        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)\n        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)\n     Caused by: java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created\n        at com.facebook.react.devsupport.a.a(:90)\n        at com.facebook.react.q.<init>(:238)\n        at com.facebook.react.r.b(:281)\n        at com.facebook.react.t.a(:87)\n        at com.facebook.react.t.h(:39)\n        at com.myapp.MainApplication.onCreate(:48)\n        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)\n        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6607)\n        at android.app.ActivityThread.access$1300(ActivityThread.java:233)\xc2\xa0\n        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1896)\xc2\xa0\n        at android.os.Handler.dispatchMessage(Handler.java:106)\xc2\xa0\n        at android.os.Looper.loop(Looper.java:223)\xc2\xa0\n        at android.app.ActivityThread.main(ActivityThread.java:7523)\xc2\xa0\n        at java.lang.reflect.Method.invoke(Native Method)\xc2\xa0\n        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)\xc2\xa0\n        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)\xc2\xa0\n     Caused by: java.lang.ClassNotFoundException: com.facebook.react.devsupport.DevSupportManagerImpl\n        at java.lang.Class.classForName(Native Method)\n        at java.lang.Class.forName(Class.java:454)\n        at java.lang.Class.forName(Class.java:379)\n        at com.facebook.react.devsupport.a.a(:68)\n        at com.facebook.react.q.<init>(:238)\xc2\xa0\n        at com.facebook.react.r.b(:281)\xc2\xa0\n        at com.facebook.react.t.a(:87)\xc2\xa0\n        at com.facebook.react.t.h(:39)\xc2\xa0\n        at com.myapp.MainApplication.onCreate(:48)\xc2\xa0\n        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)\xc2\xa0\n        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6607)\xc2\xa0\n        at android.app.ActivityThread.access$1300(ActivityThread.java:233)\xc2\xa0\n        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1896)\xc2\xa0\n        at android.os.Handler.dispatchMessage(Handler.java:106)\xc2\xa0\n        at android.os.Looper.loop(Looper.java:223)\xc2\xa0\n        at android.app.ActivityThread.main(ActivityThread.java:7523)\xc2\xa0\n        at java.lang.reflect.Method.invoke(Native Method)\xc2\xa0\n        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)\xc2\xa0\n        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)\xc2\xa0\n     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.react.devsupport.DevSupportManagerImpl" on path: DexPathList[[zip file "/data/app/~~WocKG3K03wTNVqsJq3z5Xg==/com.myapp-F972FEHz8FF4xF-BTG7qlg==/base.apk"],nativeLibraryDirectories=[/data/app/~~WocKG3K03wTNVqsJq3z5Xg==/com.myapp-F972FEHz8FF4xF-BTG7qlg==/lib/x86, /data/app/~~WocKG3K03wTNVqsJq3z5Xg==/com.myapp-F972FEHz8FF4xF-BTG7qlg==/base.apk!/lib/x86, /system/lib, /system_ext/lib, /product/lib]]\n        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)\n        at java.lang.Class.classForName(Native Method)\xc2\xa0\n        at java.lang.Class.forName(Class.java:454)\xc2\xa0\n        at java.lang.Class.forName(Class.java:379)\xc2\xa0\n        at com.facebook.react.devsupport.a.a(:68)\xc2\xa0\n        at com.facebook.react.q.<init>(:238)\xc2\xa0\n        at com.facebook.react.r.b(:281)\xc2\xa0\n        at com.facebook.react.t.a(:87)\xc2\xa0\n        at com.facebook.react.t.h(:39)\xc2\xa0\n        at com.myapp.MainApplication.onCreate(:48)\xc2\xa0\n        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)\xc2\xa0\n        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6607)\xc2\xa0\n        at android.app.ActivityThread.access$1300(ActivityThread.java:233)\xc2\xa0\n        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1896)\xc2\xa0\n        at android.os.Handler.dispatchMessage(Handler.java:106)\xc2\xa0\n        at android.os.Looper.loop(Looper.java:223)\xc2\xa0\n        at android.app.ActivityThread.main(ActivityThread.java:7523)\xc2\xa0\n        at java.lang.reflect.Method.invoke(Native Method)\xc2\xa0\n        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)\xc2\xa0\n        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)\xc2\xa0\n
Run Code Online (Sandbox Code Playgroud)\n

我在网上搜索解决方案或至少是提示,但不幸的是没有找到任何解决方案,甚至没有找到任何可以解决此问题的想法。

\n

有人有什么主意吗?另外,如果您需要任何进一步的信息以便能够回答该问题,请告诉我。

\n

多谢!

\n

the*_*ker 8

对于所有也在这个问题上苦苦挣扎的人 - 经过长时间的研究加上尝试和错误,我终于解决了这个问题。

看来这个问题实际上与 OK HTTP 相关。让我让它运行的步骤如下:

  1. 启用 MultiDex,但也要注意 AndroidX 解决方案(因为我使用已经利用 AndroidX 的最新版本的 React Native),如以下答案所述: https ://stackoverflow.com/a/56875424/9055450
  2. 按照以下评论中给出的说明添加 ProGuard 文件:https://github.com/facebook/react-native/issues/9043#issuecomment-298832659