Skip to content

[Add2App] Android causes exceptions when launching a Flutter Activity for the first time on some versions of Android #66908

@dannyvalentesonos

Description

@dannyvalentesonos

In Flutter 1.22, when launching a Flutter Activity in and Add2App Android application, there are exceptions logged, which aren't present in 1.19.

This exception is fired 5 times the first time you launch the flutter activity.

Exception
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes: Rejecting re-init on previously-failed class java.lang.Class<io.flutter.plugin.editing.TextInputPlugin$ImeSyncDeferringInsetsCallback>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/WindowInsetsAnimation$Callback;
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void io.flutter.embedding.android.FlutterView.attachToFlutterEngine(io.flutter.embedding.engine.FlutterEngine) (FlutterView.java:903)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at android.view.View io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (FlutterActivityAndFragmentDelegate.java:294)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at android.view.View io.flutter.embedding.android.FlutterFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (FlutterFragment.java:589)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2600)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.moveToState(androidx.fragment.app.Fragment, int, int, int, boolean) (FragmentManagerImpl.java:881)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(androidx.fragment.app.Fragment) (FragmentManagerImpl.java:1238)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.moveToState(int, boolean) (FragmentManagerImpl.java:1303)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.BackStackRecord.executeOps() (BackStackRecord.java:439)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.executeOps(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManagerImpl.java:2079)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManagerImpl.java:1869)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(java.util.ArrayList, java.util.ArrayList) (FragmentManagerImpl.java:1824)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at boolean androidx.fragment.app.FragmentManagerImpl.execPendingActions() (FragmentManagerImpl.java:1727)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(int) (FragmentManagerImpl.java:2663)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated() (FragmentManagerImpl.java:2613)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentController.dispatchActivityCreated() (FragmentController.java:246)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentActivity.onStart() (FragmentActivity.java:542)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void io.flutter.add2apptest.MyFlutterActivity.onStart() (MyFlutterActivity.java:73)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.Instrumentation.callActivityOnStart(android.app.Activity) (Instrumentation.java:1419)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.Activity.performStart(java.lang.String) (Activity.java:7479)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.ActivityThread.handleStartActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions) (ActivityThread.java:3454)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.performLifecycleSequence(android.app.ActivityThread$ActivityClientRecord, android.util.IntArray) (TransactionExecutor.java:180)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.cycleToPath(android.app.ActivityThread$ActivityClientRecord, int, boolean) (TransactionExecutor.java:165)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.executeLifecycleState(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:142)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:70)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:2199)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:112)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.os.Looper.loop() (Looper.java:216)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7625)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:524)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:987)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.WindowInsetsAnimation$Callback" on path: DexPathList[[zip file "/data/app/io.flutter.add2apptest-cRNPw9BL5QfIA4u1WvwD3w==/base.apk"],nativeLibraryDirectories=[/data/app/io.flutter.add2apptest-cRNPw9BL5QfIA4u1WvwD3w==/lib/arm64, /data/app/io.flutter.add2apptest-cRNPw9BL5QfIA4u1WvwD3w==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]]
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void io.flutter.embedding.android.FlutterView.attachToFlutterEngine(io.flutter.embedding.engine.FlutterEngine) (FlutterView.java:903)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at android.view.View io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (FlutterActivityAndFragmentDelegate.java:294)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at android.view.View io.flutter.embedding.android.FlutterFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (FlutterFragment.java:589)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2600)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.moveToState(androidx.fragment.app.Fragment, int, int, int, boolean) (FragmentManagerImpl.java:881)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(androidx.fragment.app.Fragment) (FragmentManagerImpl.java:1238)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.moveToState(int, boolean) (FragmentManagerImpl.java:1303)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.BackStackRecord.executeOps() (BackStackRecord.java:439)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.executeOps(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManagerImpl.java:2079)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManagerImpl.java:1869)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(java.util.ArrayList, java.util.ArrayList) (FragmentManagerImpl.java:1824)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at boolean androidx.fragment.app.FragmentManagerImpl.execPendingActions() (FragmentManagerImpl.java:1727)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(int) (FragmentManagerImpl.java:2663)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated() (FragmentManagerImpl.java:2613)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentController.dispatchActivityCreated() (FragmentController.java:246)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void androidx.fragment.app.FragmentActivity.onStart() (FragmentActivity.java:542)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void io.flutter.add2apptest.MyFlutterActivity.onStart() (MyFlutterActivity.java:73)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.Instrumentation.callActivityOnStart(android.app.Activity) (Instrumentation.java:1419)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.Activity.performStart(java.lang.String) (Activity.java:7479)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.ActivityThread.handleStartActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions) (ActivityThread.java:3454)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.performLifecycleSequence(android.app.ActivityThread$ActivityClientRecord, android.util.IntArray) (TransactionExecutor.java:180)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.cycleToPath(android.app.ActivityThread$ActivityClientRecord, int, boolean) (TransactionExecutor.java:165)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.executeLifecycleState(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:142)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:70)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:2199)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:112)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.os.Looper.loop() (Looper.java:216)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7625)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:524)
2020-09-29 10:00:05.479 10499-10499/io.flutter.add2apptest I/ter.add2apptes:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:987)

Here is a Add2App sample application that reproduces the problem. Simply launch the flutter activity by pressing the button and observe the exceptions in the log.

Add2AppTest (1.22 exceptions).zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: existing-appsIntegration with existing apps via the add-to-app flowc: regressionIt was better in the past than it is nowe: OS-version specificAffects only some versions of the relevant operating systemengineflutter/engine repository. See also e: labels.found in release: 1.22Found to occur in 1.22has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-androidAndroid applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions