react-native-screens: App crashing frequently because of this error

Hi, App is crashing frequently because of this error - java.lang.IllegalStateException com.swmansion.rnscreens.ScreenFragment.<init>

Steps To Reproduce

I don’t have the exact steps to reproduce this error, but I can see the google playstore console logs.

Expected behavior

The app should not crash.

Actual behavior

App is crashing frequently

Platform

Android 9 (SDK 28) Android 10 (SDK 29)

  • Only Android

Workflow

  • [ NO ] Managed workflow
  • [ YES ] Bare workflow

Package versions

package version
@react-native-async-storage/async-storage 1.17.3
@react-native-firebase/analytics 14.9.3
@react-native-firebase/app 14.9.3
@react-navigation/native 6.0.10
@react-navigation/native-stack 6.6.2
@react-navigation/stack 6.2.1
react 17.0.2
react-native 0.68.1
react-native-admob-native-ads 0.6.0
react-native-fast-image 8.5.11
react-native-fbads 7.1.0
react-native-fbsdk 3.0.0
react-native-gesture-handler 2.4.0
react-native-image-progress 1.2.0
react-native-image-zoom-viewer 3.0.1
react-native-modal-overlay 1.3.1
react-native-pager-view 5.4.15
react-native-push-notification 8.1.1
react-native-safe-area-context 4.2.4
react-native-screens 3.13.1
react-native-share 7.3.7
react-native-splash-screen 3.3.0
react-native-tab-view 3.1.1
react-native-vector-icons 9.1.0
react-native-video 5.2.0
recyclerlistview 3.0.5
rn-fetch-blob 0.12.0

Google PlayStore Console Logs (Prod)

java.lang.RuntimeException: at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2991) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3126) at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1846) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:201) at android.app.ActivityThread.main (ActivityThread.java:6882) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873) Caused by: androidx.fragment.app.Fragment$InstantiationException: at androidx.fragment.app.Fragment.instantiate (Fragment.java:67) at androidx.fragment.app.FragmentContainer.instantiate (FragmentContainer.java) at androidx.fragment.app.FragmentManager$3.instantiate (FragmentManager.java:17) at androidx.fragment.app.FragmentStateManager.<init> (FragmentStateManager.java:15) at androidx.fragment.app.FragmentManager.restoreSaveState (FragmentManager.java:108) at androidx.fragment.app.FragmentController.restoreSaveState (FragmentController.java:8) at androidx.fragment.app.FragmentActivity$2.onContextAvailable (FragmentActivity.java:30) at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable (ContextAwareHelper.java:20) at androidx.activity.ComponentActivity.onCreate (ComponentActivity.java:7) at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java) at androidx.appcompat.app.AppCompatActivity.onCreate (AppCompatActivity.java:10) at com.facebook.react.ReactActivity.onCreate (ReactActivity.java) at com.nicestatus.MainActivity.onCreate (MainActivity.java:3) at android.app.Activity.performCreate (Activity.java:7232) at android.app.Activity.performCreate (Activity.java:7221) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1272) at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2971) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3126) at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1846) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:201) at android.app.ActivityThread.main (ActivityThread.java:6882) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873) Caused by: java.lang.reflect.InvocationTargetException: at java.lang.reflect.Constructor.newInstance0 (Native Method) at java.lang.reflect.Constructor.newInstance (Constructor.java:343) at androidx.fragment.app.Fragment.instantiate (Fragment.java:21) at androidx.fragment.app.FragmentContainer.instantiate (FragmentContainer.java) at androidx.fragment.app.FragmentManager$3.instantiate (FragmentManager.java:17) at androidx.fragment.app.FragmentStateManager.<init> (FragmentStateManager.java:15) at androidx.fragment.app.FragmentManager.restoreSaveState (FragmentManager.java:108) at androidx.fragment.app.FragmentController.restoreSaveState (FragmentController.java:8) at androidx.fragment.app.FragmentActivity$2.onContextAvailable (FragmentActivity.java:30) at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable (ContextAwareHelper.java:20) at androidx.activity.ComponentActivity.onCreate (ComponentActivity.java:7) at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java) at androidx.appcompat.app.AppCompatActivity.onCreate (AppCompatActivity.java:10) at com.facebook.react.ReactActivity.onCreate (ReactActivity.java) at com.nicestatus.MainActivity.onCreate (MainActivity.java:3) at android.app.Activity.performCreate (Activity.java:7232) at android.app.Activity.performCreate (Activity.java:7221) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1272) at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2971) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3126) at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1846) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:201) at android.app.ActivityThread.main (ActivityThread.java:6882) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873) Caused by: java.lang.IllegalStateException: at com.swmansion.rnscreens.ScreenFragment.<init> (ScreenFragment.java:23) at com.swmansion.rnscreens.ScreenStackFragment.<init> (ScreenStackFragment.java) at java.lang.reflect.Constructor.newInstance0 (Native Method) at java.lang.reflect.Constructor.newInstance (Constructor.java:343) at androidx.fragment.app.Fragment.instantiate (Fragment.java:21) at androidx.fragment.app.FragmentContainer.instantiate (FragmentContainer.java) at androidx.fragment.app.FragmentManager$3.instantiate (FragmentManager.java:17) at androidx.fragment.app.FragmentStateManager.<init> (FragmentStateManager.java:15) at androidx.fragment.app.FragmentManager.restoreSaveState (FragmentManager.java:108) at androidx.fragment.app.FragmentController.restoreSaveState (FragmentController.java:8) at androidx.fragment.app.FragmentActivity$2.onContextAvailable (FragmentActivity.java:30) at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable (ContextAwareHelper.java:20) at androidx.activity.ComponentActivity.onCreate (ComponentActivity.java:7) at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java) at androidx.appcompat.app.AppCompatActivity.onCreate (AppCompatActivity.java:10) at com.facebook.react.ReactActivity.onCreate (ReactActivity.java) at com.nicestatus.MainActivity.onCreate (MainActivity.java:3) at android.app.Activity.performCreate (Activity.java:7232) at android.app.Activity.performCreate (Activity.java:7221) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1272) at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2971) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3126) at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1846) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:201) at android.app.ActivityThread.main (ActivityThread.java:6882) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)

Please look into this error. Thank you 😃

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 3
  • Comments: 25 (7 by maintainers)

Commits related to this issue

Most upvoted comments

Did you follow the required steps from the main README file? See https://github.com/software-mansion/react-native-screens#android.

Ok, here’s an idea I’ll try that is not directly stated in the directions of the README.

The Override call was added inside the public static class MainActivityDelegate extends ReactActivityDelegate {} function. However, I will instead place this inside the parent function public class MainActivity extends ReactActivity {} above it. I do not know if it will fix it, I just added it where I saw other “Override” terms, and assume that applied.

If this is the difference in what fixes the issue, then please add the specific in the README to add it in the parent one that starts with public class MainActivity extends ReactActivity {} and not the other one.

I’ll report back after a while to see if this was my issue. If others have this placement as well or have already tried this placement, do comment on it.

image

Yes:

import android.os.Bundle;

and then to the MainActivityDelegate class:

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