Android 在flattersplashview.java上为我发布的一个应用程序获取ClasscastException

Android 在flattersplashview.java上为我发布的一个应用程序获取ClasscastException,android,flutter,classcastexception,Android,Flutter,Classcastexception,我的应用程序发布在Google Play Store中,在某些设备上崩溃。它与启动屏幕有关吗?我没有实现任何启动屏幕,所以不确定是什么导致了这个错误 java.lang.ClassCastException: 在io.flatter.embedding.android.flatterSplashView.onRestoreInstanceState(flatterSplashView.java)上 位于android.view.view.dispatchRestoreInstanceState(

我的应用程序发布在Google Play Store中,在某些设备上崩溃。它与启动屏幕有关吗?我没有实现任何启动屏幕,所以不确定是什么导致了这个错误

java.lang.ClassCastException: 在io.flatter.embedding.android.flatterSplashView.onRestoreInstanceState(flatterSplashView.java)上 位于android.view.view.dispatchRestoreInstanceState(view.java:20262) 在android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4039)上 在android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4045)上 在android.view.view.restoreHierarchyState(view.java:20240) 位于com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2184) 位于android.app.Activity.onRestoreInstanceState(Activity.java:1195) 在android.app.Activity.performRestoreInstanceState上(Activity.java:1150) 位于android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1321) 位于android.app.ActivityThread.handleStartActivity(ActivityThread.java:3161) 在android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)上 位于android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165) 位于android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142) 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955) 位于android.os.Handler.dispatchMessage(Handler.java:106) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7091) 位于java.lang.reflect.Method.invoke(Method.java) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)


根据上的此问题,如果您使用的是flatter 1.12.13+hotfix.9或更早版本,建议的方法是设置Proguard规则,该规则不会混淆flatterSplashView.SavedState类

/android/app/proguard rules.pro
中,添加以下行:

-keep public class io.flutter.embedding.android.FlutterSplashView.$SavedState { *; }
还可以查看这篇关于的文章