卡了我一下午的问题,记录一下。
一、确保dart端和android端的MethodChannel名是一样的。
二、确保binding.binaryMessenger是唯一的
问题的根源在于我在demo的MainActivity的onCreate方法中,进行了多余的注册,生成了前后两binding.binaryMessenger:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(FlutterEngine(this))//这句不需要,因为FlutterActivityAndFragmentDelegate.onAttach方法会注册
}
log里打印相关信息:
12-29 20:37:38.988 29552 29552 V wbj : messenger = io.flutter.embedding.engine.dart.DartExecutor@492681c
12-29 20:37:38.988 29552 29552 V wbj : binding.binaryMessenger = io.flutter.embedding.engine.dart.DartExecutor@8a5d87f
12-29 20:37:35.774 29552 29552 V wbj : java.lang.Throwable
12-29 20:37:35.774 29552 29552 V wbj : at xxx.onAttachedToEngine(xxx.kt:42)
12-29 20:37:35.774 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEnginePluginRegistry.add(FlutterEnginePluginRegistry.java:133)
12-29 20:37:35.774 29552 29552 V wbj : at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:17)
12-29 20:37:35.774 29552 29552 V wbj : at java.lang.reflect.Method.invoke(Native Method)
12-29 20:37:35.774 29552 29552 V wbj : at io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister.registerGeneratedPlugins(GeneratedPluginRegister.java:34)
12-29 20:37:35.774 29552 29552 V wbj : at io.flutter.embedding.android.FlutterActivity.configureFlutterEngine(FlutterActivity.java:874)
12-29 20:37:35.774 29552 29552 V wbj : at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:181)
12-29 20:37:35.774 29552 29552 V wbj : at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:410)
12-29 20:37:35.774 29552 29552 V wbj : at xxx.MainActivity.onCreate(MainActivity.kt:11)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.Activity.performCreate(Activity.java:7802)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.Activity.performCreate(Activity.java:7791)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
12-29 20:37:35.774 29552 29552 V wbj : at android.os.Handler.dispatchMessage(Handler.java:107)
12-29 20:37:35.774 29552 29552 V wbj : at android.os.Looper.loop(Looper.java:214)
12-29 20:37:35.774 29552 29552 V wbj : at android.app.ActivityThread.main(ActivityThread.java:7356)
12-29 20:37:35.774 29552 29552 V wbj : at java.lang.reflect.Method.invoke(Native Method)
12-29 20:37:35.774 29552 29552 V wbj : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
12-29 20:37:35.774 29552 29552 V wbj : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
12-29 20:37:35.941 29552 29552 V wbj : java.lang.Throwable
12-29 20:37:35.941 29552 29552 V wbj : at xxx.onAttachedToEngine(xxx.kt:42)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEnginePluginRegistry.add(FlutterEnginePluginRegistry.java:133)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:17)
12-29 20:37:35.941 29552 29552 V wbj : at java.lang.reflect.Method.invoke(Native Method)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEngine.registerPlugins(FlutterEngine.java:346)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:307)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:248)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:228)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:148)
12-29 20:37:35.941 29552 29552 V wbj : at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:139)
12-29 20:37:35.941 29552 29552 V wbj : at xxx.MainActivity.onCreate(MainActivity.kt:13)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.Activity.performCreate(Activity.java:7802)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.Activity.performCreate(Activity.java:7791)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
12-29 20:37:35.941 29552 29552 V wbj : at android.os.Handler.dispatchMessage(Handler.java:107)
12-29 20:37:35.941 29552 29552 V wbj : at android.os.Looper.loop(Looper.java:214)
12-29 20:37:35.941 29552 29552 V wbj : at android.app.ActivityThread.main(ActivityThread.java:7356)
12-29 20:37:35.941 29552 29552 V wbj : at java.lang.reflect.Method.invoke(Native Method)
12-29 20:37:35.941 29552 29552 V wbj : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
12-29 20:37:35.941 29552 29552 V wbj : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
网友评论