Получение ClasscastException в FlutterSplashView. java для одного из моих опубликованных приложений - PullRequest
3 голосов
/ 07 апреля 2020

Мое приложение опубликовано в Google Play Store, и оно падает на некоторых устройствах. Это связано с экраном Spla sh? Я не использую экран Spla sh, поэтому не уверен, что является причиной этой ошибки.

java .lang.ClassCastException: at io.flutter.embedding. android .FlutterSplashView. onRestoreInstanceState (FlutterSplashView. java) в android .view.View.dispatchRestoreInstanceState (View. java: 20262) в android .view.ViewGroup.dispatchRestoreInstanceState (ViewGroup * java 1015) в .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 (Tra nsactionExecutor. 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 (Обработчик. java: 106) в android .os.Looper.l oop (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)

1 Ответ

3 голосов
/ 25 апреля 2020

В соответствии с этой проблемой на Репозиторий Flutter , если вы используете Flutter 1.12.13 + hotfix.9 или более ранней, рекомендуется настроить правило Proguard, которое не запутывает класс FlutterSplashView.SavedState.

В <your-app-directory>/android/app/proguard-rules.pro, добавьте эту строку:

-keep public class io.flutter.embedding.android.FlutterSplashView.$SavedState { *; }

Проверьте также эту статью о Flutter и Android запутывания .

...