umair ali
umair ali

Reputation: 109

Play store shows app crashes MyAppPackageName.MainActivity.onCreate androidx.fragment.app.Fragment$InstantiationException

Exception java.lang.RuntimeException: Unable to start activity ComponentInfo{MyAppPackage/MyAppPackage.MainActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.ScreenStackFragment: calling Fragment constructor caused an exception at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3502) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3683) at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:85) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2108) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:223) at android.app.ActivityThread.main (ActivityThread.java:7948) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:603) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:947) Caused by androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.ScreenStackFragment: calling Fragment constructor caused an exception at androidx.fragment.app.Fragment.instantiate (Fragment.java:631) at androidx.fragment.app.FragmentContainer.instantiate (FragmentContainer.java:57) at androidx.fragment.app.FragmentManager$3.instantiate (FragmentManager.java:483) at androidx.fragment.app.FragmentStateManager. (FragmentStateManager.java:85) at androidx.fragment.app.FragmentManager.restoreSaveState (FragmentManager.java:2728) at androidx.fragment.app.FragmentController.restoreSaveState (FragmentController.java:198) at androidx.fragment.app.FragmentActivity$2.onContextAvailable (FragmentActivity.java:149) at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable (ContextAwareHelper.java:99) at androidx.activity.ComponentActivity.onCreate (ComponentActivity.java:322) at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java:273) at com.facebook.react.ReactActivity.onCreate (ReactActivity.java:45) at MyAppPackage.MainActivity.onCreate (MainActivity.java:13) at android.app.Activity.performCreate (Activity.java:8071) at android.app.Activity.performCreate (Activity.java:8054) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1309) at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3472) Caused by java.lang.reflect.InvocationTargetException: at java.lang.reflect.Constructor.newInstance0 at java.lang.reflect.Constructor.newInstance (Constructor.java:343) at androidx.fragment.app.Fragment.instantiate (Fragment.java:613) Caused by java.lang.IllegalStateException: Screen fragments should never be restored. Follow instructions from https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-<US_SOCIAL_SECURITY_NUMBER> to properly configure your main activity. at com.swmansion.rnscreens.ScreenFragment. (ScreenFragment.kt:54) at com.swmansion.rnscreens.ScreenStackFragment. (ScreenStackFragment.kt:35)

I checked app on multiple phones its working. But on play store I have more than 5000 reports of crashes in just few days. In recent build I just updated my targetSdkVersion from 31 to 34.

my android build.gradlew is like this:

buildToolsVersion = "34.0.0" minSdkVersion = 21 compileSdkVersion = 31 targetSdkVersion = 34 kotlin_version = '1.6.10'

Upvotes: 0

Views: 1048

Answers (1)

Shafqat ullah Khan
Shafqat ullah Khan

Reputation: 57

I was also facing this issue, I checked this issue and found that this issue is related to react-native-screens and I was missing one step from installation instructions.

You have to add below code in android/app/src/main/java//MainActivity.java in MainActivity class.

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

You can check these instructions here.

Upvotes: 1

Related Questions