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)
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.
Yes:
import android.os.Bundle;
and then to the MainActivityDelegate class: