React-native-screens: Crash on app launch

Created on 28 Sep 2019  ·  19Comments  ·  Source: software-mansion/react-native-screens

Hello,

I have encountered a problem while using react-native-screens combine with react-navigation :
sometimes the app crash when I launched it (tested on Android only).
This is the error catch in Logcat in Android Studio :

 Process: com.XXXX, PID: 30449
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.XXXX/com.XXXX.MainActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.Screen$ScreenFragment: calling Fragment constructor caused an exception
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2825)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2900)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:251)
    at android.app.ActivityThread.main(ActivityThread.java:6589)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
 Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.Screen$ScreenFragment: calling Fragment constructor caused an exception
    at androidx.fragment.app.Fragment.instantiate(Fragment.java:532)
    at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57)
    at androidx.fragment.app.FragmentManagerImpl$6.instantiate(FragmentManagerImpl.java:2848)
    at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:85)
    at androidx.fragment.app.FragmentManagerImpl.restoreSaveState(FragmentManagerImpl.java:2485)
    at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:195)
    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:288)
    at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
    at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:51)
    at com.XXXX.MainActivity.onCreate(MainActivity.java:14)
    at android.app.Activity.performCreate(Activity.java:6975)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2900) 
    at android.app.ActivityThread.-wrap11(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601) 
    at android.os.Handler.dispatchMessage(Handler.java:105) 
    at android.os.Looper.loop(Looper.java:251) 
    at android.app.ActivityThread.main(ActivityThread.java:6589) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
 Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance0(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
    at androidx.fragment.app.Fragment.instantiate(Fragment.java:514)
    at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57) 
    at androidx.fragment.app.FragmentManagerImpl$6.instantiate(FragmentManagerImpl.java:2848) 
    at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:85) 
    at androidx.fragment.app.FragmentManagerImpl.restoreSaveState(FragmentManagerImpl.java:2485) 
    at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:195) 
    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:288) 
    at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106) 
    at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:51) 
    at com.XXXX.MainActivity.onCreate(MainActivity.java:14) 
    at android.app.Activity.performCreate(Activity.java:6975) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2900) 
    at android.app.ActivityThread.-wrap11(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601) 
    at android.os.Handler.dispatchMessage(Handler.java:105) 
    at android.os.Looper.loop(Looper.java:251) 
    at android.app.ActivityThread.main(ActivityThread.java:6589) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
 Caused by: java.lang.IllegalStateException: Screen fragments should never be restored

I didn't have this issue when I was using react-native-screens 1.0.0-alpha.22 with react-navigation 3.11.0 on react-native 0.59.4.

I don't really know what could be the cause of this issue. I didn't have it before upgrading and it only appears sometimes.

My setup:
react-native: 0.60.5
react-navigation: 4.0.7
react-native-screens: 2.0.0-alpha.3
OS: Android 8.0.0
Device: real

Most helpful comment

@Alaa-Ben @vivekraj
I tried all the solutions presented here for both navigation and flipper. I have version 0.63.2 and my problem persists, any solution?

All 19 comments

I'm getting similar issue after installing react-native-screens. The app still works by removing the package.

Error and Warning log

Unexpected CPU variant for X86 using defaults: x86
java.lang.ClassNotFoundException: com.facebook.flipper.ReactNativeFlipper
 at java.lang.Class.classForName(Native Method)
 at java.lang.Class.forName(Class.java:453)
 at java.lang.Class.forName(Class.java:378)
 at com.themealsapp.MainApplication.initializeFlipper(MainApplication.java:61)
 at com.themealsapp.MainApplication.onCreate(MainApplication.java:46)
 at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
 at android.app.ActivityThread.access$1100(ActivityThread.java:199)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
 at android.os.Handler.dispatchMessage(Handler.java:106)
 at android.os.Looper.loop(Looper.java:193)
 at android.app.ActivityThread.main(ActivityThread.java:6669)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.flipper.ReactNativeFlipper" on path: DexPathList[[zip file "/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/lib/x86, /data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk!/lib/x86, /system/lib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
 ... 15 more
Accessing hidden method Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->left:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->right:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->top:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->bottom:I (light greylist, linking)
Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (light greylist, reflection)
Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (light greylist, reflection)
Accessing hidden method Ldalvik/system/CloseGuard;->warnIfOpen()V (light greylist, reflection)
Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (light greylist, reflection)
Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (light greylist, reflection)
ReactNative: Packager connection already open, nooping.
Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
Verification of void androidx.appcompat.widget.AppCompatTextHelper.updateTypefaceAndStyle(android.content.Context, androidx.appcompat.widget.TintTypedArray) took 119.172ms
Accessing hidden method Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; (light greylist, linking)
Attempting to set client state on removed layer: Splash Screen com.themealsapp#0
Attempting to destroy on removed layer: Splash Screen com.themealsapp#0
Verification of void androidx.core.content.res.ResourcesCompat$FontCallback$2.<init>(androidx.core.content.res.ResourcesCompat$FontCallback, int) took 112.184ms
ReactNative: Packager connection already open, nooping.
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.checkbox.ReactCheckBoxManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.uimanager.LayoutShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDialogPickerManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.drawer.ReactDrawerLayoutManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDropdownPickerManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollContainerViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ReactProgressBarViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ProgressBarShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactScrollViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager$ReactSliderShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager$ReactSwitchShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
FATAL EXCEPTION: mqt_native_modules
Process: com.themealsapp, PID: 15671
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;
 at com.facebook.react.shell.MainReactPackage.createViewManagers(MainReactPackage.java:185)
 at com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(ReactInstanceManager.java:782)
 at com.facebook.react.CoreModulesPackage.createUIManager(CoreModulesPackage.java:184)
 at com.facebook.react.CoreModulesPackage.getModule(CoreModulesPackage.java:152)
 at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:122)
 at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:110)
 at com.facebook.react.bridge.ModuleHolder.create(ModuleHolder.java:188)
 at com.facebook.react.bridge.ModuleHolder.getModule(ModuleHolder.java:153)
 at com.facebook.react.bridge.NativeModuleRegistry.getModule(NativeModuleRegistry.java:148)
 at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:479)
 at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:466)
 at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:31)
 at com.facebook.react.ReactInstanceManager.attachRootViewToInstance(ReactInstanceManager.java:1054)
 at com.facebook.react.ReactInstanceManager.setupReactContext(ReactInstanceManager.java:1012)
 at com.facebook.react.ReactInstanceManager.access$1400(ReactInstanceManager.java:125)
 at com.facebook.react.ReactInstanceManager$5$2.run(ReactInstanceManager.java:972)
 at android.os.Handler.handleCallback(Handler.java:873)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:26)
 at android.os.Looper.loop(Looper.java:193)
 at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:225)
 at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.swiperefreshlayout.widget.SwipeRefreshLayout" on path: DexPathList[[zip file "/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/lib/x86, /data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk!/lib/x86, /system/lib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
 ... 22 more
  Force finishing activity com.themealsapp/.MainActivity
channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
Attempted to unregister already unregistered input channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)'
Attempting to set client state on removed layer: com.themealsapp/com.themealsapp.MainActivity#0
Attempting to destroy on removed layer: com.themealsapp/com.themealsapp.MainActivity#0

Android Version : 9 [Emulator]
React : 16.9.0
React-native : 0.61.1
React-navigation : 4.0.10
React-navigation-stack : 1.9.0
React-navigation-tabs : 2.5.5

I'm getting similar issue after installing react-native-screens. The app still works by removing the package.

Error and Warning log

Unexpected CPU variant for X86 using defaults: x86
java.lang.ClassNotFoundException: com.facebook.flipper.ReactNativeFlipper
 at java.lang.Class.classForName(Native Method)
 at java.lang.Class.forName(Class.java:453)
 at java.lang.Class.forName(Class.java:378)
 at com.themealsapp.MainApplication.initializeFlipper(MainApplication.java:61)
 at com.themealsapp.MainApplication.onCreate(MainApplication.java:46)
 at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
 at android.app.ActivityThread.access$1100(ActivityThread.java:199)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
 at android.os.Handler.dispatchMessage(Handler.java:106)
 at android.os.Looper.loop(Looper.java:193)
 at android.app.ActivityThread.main(ActivityThread.java:6669)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.flipper.ReactNativeFlipper" on path: DexPathList[[zip file "/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/lib/x86, /data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk!/lib/x86, /system/lib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
 ... 15 more
Accessing hidden method Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->left:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->right:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->top:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->bottom:I (light greylist, linking)
Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (light greylist, reflection)
Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (light greylist, reflection)
Accessing hidden method Ldalvik/system/CloseGuard;->warnIfOpen()V (light greylist, reflection)
Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (light greylist, reflection)
Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (light greylist, reflection)
ReactNative: Packager connection already open, nooping.
Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
Verification of void androidx.appcompat.widget.AppCompatTextHelper.updateTypefaceAndStyle(android.content.Context, androidx.appcompat.widget.TintTypedArray) took 119.172ms
Accessing hidden method Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; (light greylist, linking)
Attempting to set client state on removed layer: Splash Screen com.themealsapp#0
Attempting to destroy on removed layer: Splash Screen com.themealsapp#0
Verification of void androidx.core.content.res.ResourcesCompat$FontCallback$2.<init>(androidx.core.content.res.ResourcesCompat$FontCallback, int) took 112.184ms
ReactNative: Packager connection already open, nooping.
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.checkbox.ReactCheckBoxManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.uimanager.LayoutShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDialogPickerManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.drawer.ReactDrawerLayoutManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDropdownPickerManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollContainerViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ReactProgressBarViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ProgressBarShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactScrollViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager$ReactSliderShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager$ReactSwitchShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
FATAL EXCEPTION: mqt_native_modules
Process: com.themealsapp, PID: 15671
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;
 at com.facebook.react.shell.MainReactPackage.createViewManagers(MainReactPackage.java:185)
 at com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(ReactInstanceManager.java:782)
 at com.facebook.react.CoreModulesPackage.createUIManager(CoreModulesPackage.java:184)
 at com.facebook.react.CoreModulesPackage.getModule(CoreModulesPackage.java:152)
 at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:122)
 at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:110)
 at com.facebook.react.bridge.ModuleHolder.create(ModuleHolder.java:188)
 at com.facebook.react.bridge.ModuleHolder.getModule(ModuleHolder.java:153)
 at com.facebook.react.bridge.NativeModuleRegistry.getModule(NativeModuleRegistry.java:148)
 at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:479)
 at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:466)
 at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:31)
 at com.facebook.react.ReactInstanceManager.attachRootViewToInstance(ReactInstanceManager.java:1054)
 at com.facebook.react.ReactInstanceManager.setupReactContext(ReactInstanceManager.java:1012)
 at com.facebook.react.ReactInstanceManager.access$1400(ReactInstanceManager.java:125)
 at com.facebook.react.ReactInstanceManager$5$2.run(ReactInstanceManager.java:972)
 at android.os.Handler.handleCallback(Handler.java:873)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:26)
 at android.os.Looper.loop(Looper.java:193)
 at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:225)
 at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.swiperefreshlayout.widget.SwipeRefreshLayout" on path: DexPathList[[zip file "/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/lib/x86, /data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk!/lib/x86, /system/lib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
 ... 22 more
  Force finishing activity com.themealsapp/.MainActivity
channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
Attempted to unregister already unregistered input channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)'
Attempting to set client state on removed layer: com.themealsapp/com.themealsapp.MainActivity#0
Attempting to destroy on removed layer: com.themealsapp/com.themealsapp.MainActivity#0

Android Version : 9 [Emulator]
React : 16.9.0
React-native : 0.61.1
React-navigation : 4.0.10
React-navigation-stack : 1.9.0
React-navigation-tabs : 2.5.5

I missed something during the Installation.

Fixed the issue by adding below lines to dependencies section in android/app/build.gradle

implementation 'androidx.appcompat:appcompat:1.1.0-rc01' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'

For me, those 2 lines are already added, I followed exactly the installations instructions but still have this issue sometimes.

i've got the same issue, although a different error message. might be relevant.

[10:44:31] E | AndroidRuntime ▶︎ FATAL EXCEPTION: main
                              │ Process: com.selfcast, PID: 9345
                              │ java.lang.IllegalArgumentException: No view found for id 0x8b (unknown) for fragment ScreenFragment{2d0e56c (2f55e128-6c9a-425d-bcc7-85623c7b9525) id=0x8b}
                              │ at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:875)
                              │ at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManagerImpl.java:2097)
                              │ at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1871)
                              │ at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1827)
                              │ at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
                              │ at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
                              │ at android.os.Handler.handleCallback(Handler.java:739)
                              │ at android.os.Handler.dispatchMessage(Handler.java:95)
                              │ at android.os.Looper.loop(Looper.java:158)
                              │ at android.app.ActivityThread.main(ActivityThread.java:7225)
                              │ at java.lang.reflect.Method.invoke(Native Method)
                              │ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                              └ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

react-native: 0.61.1
react-navigation: 4.0.10
react-navigation-stack: 1.9.0
react-navigation-tabs: 2.5.5
react-navigation-screens: 2.0.0-alpha.3

error only happens if i include useScreens() on App.js

I'm getting similar issue after installing react-native-screens. The app still works by removing the package.

Error and Warning log

Unexpected CPU variant for X86 using defaults: x86
java.lang.ClassNotFoundException: com.facebook.flipper.ReactNativeFlipper
 at java.lang.Class.classForName(Native Method)
 at java.lang.Class.forName(Class.java:453)
 at java.lang.Class.forName(Class.java:378)
 at com.themealsapp.MainApplication.initializeFlipper(MainApplication.java:61)
 at com.themealsapp.MainApplication.onCreate(MainApplication.java:46)
 at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
 at android.app.ActivityThread.access$1100(ActivityThread.java:199)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
 at android.os.Handler.dispatchMessage(Handler.java:106)
 at android.os.Looper.loop(Looper.java:193)
 at android.app.ActivityThread.main(ActivityThread.java:6669)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.flipper.ReactNativeFlipper" on path: DexPathList[[zip file "/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/lib/x86, /data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk!/lib/x86, /system/lib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
 ... 15 more
Accessing hidden method Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->left:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->right:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->top:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->bottom:I (light greylist, linking)
Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (light greylist, reflection)
Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (light greylist, reflection)
Accessing hidden method Ldalvik/system/CloseGuard;->warnIfOpen()V (light greylist, reflection)
Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (light greylist, reflection)
Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (light greylist, reflection)
ReactNative: Packager connection already open, nooping.
Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
Verification of void androidx.appcompat.widget.AppCompatTextHelper.updateTypefaceAndStyle(android.content.Context, androidx.appcompat.widget.TintTypedArray) took 119.172ms
Accessing hidden method Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; (light greylist, linking)
Attempting to set client state on removed layer: Splash Screen com.themealsapp#0
Attempting to destroy on removed layer: Splash Screen com.themealsapp#0
Verification of void androidx.core.content.res.ResourcesCompat$FontCallback$2.<init>(androidx.core.content.res.ResourcesCompat$FontCallback, int) took 112.184ms
ReactNative: Packager connection already open, nooping.
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.checkbox.ReactCheckBoxManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.uimanager.LayoutShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDialogPickerManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.drawer.ReactDrawerLayoutManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDropdownPickerManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollContainerViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ReactProgressBarViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ProgressBarShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactScrollViewManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager$ReactSliderShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager$ReactSwitchShadowNode
ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
FATAL EXCEPTION: mqt_native_modules
Process: com.themealsapp, PID: 15671
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/swiperefreshlayout/widget/SwipeRefreshLayout;
 at com.facebook.react.shell.MainReactPackage.createViewManagers(MainReactPackage.java:185)
 at com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(ReactInstanceManager.java:782)
 at com.facebook.react.CoreModulesPackage.createUIManager(CoreModulesPackage.java:184)
 at com.facebook.react.CoreModulesPackage.getModule(CoreModulesPackage.java:152)
 at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:122)
 at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:110)
 at com.facebook.react.bridge.ModuleHolder.create(ModuleHolder.java:188)
 at com.facebook.react.bridge.ModuleHolder.getModule(ModuleHolder.java:153)
 at com.facebook.react.bridge.NativeModuleRegistry.getModule(NativeModuleRegistry.java:148)
 at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:479)
 at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:466)
 at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:31)
 at com.facebook.react.ReactInstanceManager.attachRootViewToInstance(ReactInstanceManager.java:1054)
 at com.facebook.react.ReactInstanceManager.setupReactContext(ReactInstanceManager.java:1012)
 at com.facebook.react.ReactInstanceManager.access$1400(ReactInstanceManager.java:125)
 at com.facebook.react.ReactInstanceManager$5$2.run(ReactInstanceManager.java:972)
 at android.os.Handler.handleCallback(Handler.java:873)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:26)
 at android.os.Looper.loop(Looper.java:193)
 at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:225)
 at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.swiperefreshlayout.widget.SwipeRefreshLayout" on path: DexPathList[[zip file "/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/lib/x86, /data/app/com.themealsapp-C0f4b-llUrryqdD-GckZoQ==/base.apk!/lib/x86, /system/lib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
 ... 22 more
  Force finishing activity com.themealsapp/.MainActivity
channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
Attempted to unregister already unregistered input channel '833f741 com.themealsapp/com.themealsapp.MainActivity (server)'
Attempting to set client state on removed layer: com.themealsapp/com.themealsapp.MainActivity#0
Attempting to destroy on removed layer: com.themealsapp/com.themealsapp.MainActivity#0

Android Version : 9 [Emulator]
React : 16.9.0
React-native : 0.61.1
React-navigation : 4.0.10
React-navigation-stack : 1.9.0
React-navigation-tabs : 2.5.5

Hi @vivekraj ,
I believe this happens because you didn't correctly configure Flipper when migrating React Native to 0.61.1.

I also encountered this problem, as long as you install this package Android will flip back, because react-navigation can not remove react-native-screens, how to solve it?

    "react-native": "0.61.1",
    "react-native-screens": "^2.0.0-alpha.3",
    "react-navigation": "^4.0.10",
    "react-navigation-stack": "^1.9.1",
    "react-navigation-tabs": "^2.5.5",

@vivekraj

It works for me! Thanks!

Android Version : 9 [Emulator]
"react": "16.9.0",
"react-native": "0.61.1",
"react-navigation": "^4.0.10",
"react-native-screens": "^2.0.0-alpha.3",
"react-navigation-stack": "^2.0.0-alpha.19",
"react-navigation-tabs": "^2.5.5",

I tried with an other device, and I did not have the crash. I tried on a Samsung S10 running Android 9.

The device on which the app is crashing with always the same error message (first post) is running Android 8.1, so it seems not all Android versions crashes.

I have this error with Android 8. Any fix?

same here!

Had the same error and @vivekraj solution worked for me.

I had a similar issue where my app crashed on startup on Android.
However I am using react-native-screens and react-native-track-player and in the npm version in the dependencies is used

implementation "com.android.support:support-compat:${safeExtGet('supportLibVersion', '27.1.1')}"
implementation "com.android.support:support-media-compat:${safeExtGet('supportLibVersion', '27.1.1')}"
 implementation "com.github.bumptech.glide:glide:4.7.1" 

So although the react-native-screens I had the dependencies needed (as described by @vivekraj ) in android>app>build.gradle the app stopped crashing after I replaced the above dependencies within react-native-track-player.

Hello,

I upgraded React Native to 0.61.5, the iOS and Android parts compile successfully. The iOS app launch also successfully but not the Android app.

The Android app launch and stuck on splash screen with no error so I activated logs adb logcat and I found a similar error:

System.err: java.lang.ClassNotFoundException: com.facebook.flipper.ReactNativeFlipper

After 2 day of try I have no idea how to resolve this issue. I have follow all migration procedure for React Native 0.6+ and all packages including React Navigation. This is where I am:

package.json

        "react": "16.9.0",
        "react-native": "0.61.5",
        "react-native-gesture-handler": "^1.5.2",
        "react-native-reanimated": "^1.4.0",
        "react-native-screens": "^2.0.0-alpha.17",
        "react-navigation": "^4.0.10",
        "react-navigation-drawer": "^2.3.3",
        "react-navigation-stack": "^1.10.3"

android/app/build.gradle

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.facebook.react:react-native:+"  // From node_modules
    implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'

    if (enableHermes) {
        def hermesPath = "../../node_modules/hermes-engine/android/";
        debugImplementation files(hermesPath + "hermes-debug.aar")
        releaseImplementation files(hermesPath + "hermes-release.aar")
    } else {
        implementation jscFlavor
    }
}

configurations.all {
     resolutionStrategy {
       force "com.facebook.soloader:soloader:0.8.0"
     }
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into "libs"
}

apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

apply plugin: "com.google.gms.google-services"

MainActivity.java

package com.dedge.centralinventory;

import android.os.Bundle;
import com.facebook.react.ReactFragmentActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;

public class MainActivity extends ReactFragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(null);
    }

    @Override
    protected ReactActivityDelegate createReactActivityDelegate() {
        return new ReactActivityDelegate(this, getMainComponentName()) {
            @Override
            protected ReactRootView createRootView() {
                return new RNGestureHandlerEnabledRootView(MainActivity.this);
            }
        };
    }
}

MainApplication.java

package com.dedge.centralinventory;

import android.app.Application;
import android.content.Context;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
        @Override
        public boolean getUseDeveloperSupport() {
            return BuildConfig.DEBUG;
        }

        @Override
        protected List<ReactPackage> getPackages() {
            @SuppressWarnings("UnnecessaryLocalVariable")
            List<ReactPackage> packages = new PackageList(this).getPackages();
            // Packages that cannot be autolinked yet can be added manually here, for example:
            // packages.add();
            return packages;
        }

        @Override
        protected String getJSMainModuleName() {
            return "index";
        }
    };

    @Override
    public ReactNativeHost getReactNativeHost() {
        return mReactNativeHost;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        SoLoader.init(this, /* native exopackage */ false);
        initializeFlipper(this); // Remove this line if you don't want Flipper enabled
    }

    /**
     * Loads Flipper in React Native templates.
     *
     * @param context
     */
    private static void initializeFlipper(Context context) {
        if (BuildConfig.DEBUG) {
            try {
                /*
                 * We use reflection here to pick up the class that initializes Flipper, since
                 * Flipper library is not available in release mode
                 */
                Class<?> aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper");
                aClass.getMethod("initializeFlipper", Context.class).invoke(null, context);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        }
    }
}

If anyone of you tell me what could be the origin of the problem I will be grateful 🙏🏻

@nicolashemonic Flipper isn't working on 0.61.x, so commenting out/removing initializeFlipper(this) in yourMainApplication.java should do the trick.

@Alaa-Ben Effectively initializeFlipper(this) triggered the error. The React Native team is working hard to simplify the upgrade processus but I don't understand why this line is not commented by default! So much time lost! Thank you.

Edit:
So the error is not related to react-native-screens (sorry!) but I hope that will help anyone :)

implementation 'androidx.appcompat:appcompat:1.1.0-rc01' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'

I added these lines to android/app/build.gradle file. The exception continues but now the app runs without crashing

It looks like the problems here are not strictly related to react-native-screens. Flipper should work just fine in rn 0.62 btw. I am closing this issue then. Feel free to comment if you still encounter any issues.

@Alaa-Ben @vivekraj
I tried all the solutions presented here for both navigation and flipper. I have version 0.63.2 and my problem persists, any solution?

We are seeing this issue and do not have flipper.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chengsokdara picture chengsokdara  ·  3Comments

harrisrobin picture harrisrobin  ·  3Comments

jeveloper picture jeveloper  ·  5Comments

joshua-augustinus picture joshua-augustinus  ·  4Comments

bitttttten picture bitttttten  ·  3Comments