今天遇到Flutter項目報錯
FlutterEnginePluginRegistry: Attempted to register plugin (io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry$ShimRegistrarAggregate@3584921) but it was already registered with this FlutterEngine (io.flutter.embedding.engine.FlutterEngine@6b82696).
看報錯信息應(yīng)該是同一個插件在FlutterEngine中初始化了兩次摔认。
查看代碼發(fā)現(xiàn)本讥,我們的項目在Application中初始化了一個FlutterEngine來預(yù)加載引擎项郊,然后在activity中使用Application初始化的引擎。
查看FlutterEngine源碼發(fā)現(xiàn)構(gòu)造方法中有一個automaticallyRegisterPlugins參數(shù)劫樟,這個參數(shù)默認(rèn)為true
flutter_engine_1.png
flutter_engine_2.png
flutter_engine_3.png
然后看MainActivity中的代碼
activity_1.png
activity_2.png
activity_3.png
看到這里問題就清楚了,調(diào)用了2次插件注冊方法,只需要改成只一次即可掀虎。
記錄一下問題