Flutter项目错误重复注册插件

今天遇到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).

看报错信息应该是同一个插件在FlutterEngine中初始化了两次。

查看代码发现,我们的项目在Application中初始化了一个FlutterEngine来预加载引擎,然后在activity中使用Application初始化的引擎。

查看FlutterEngine源码发现构造方法中有一个automaticallyRegisterPlugins参数,这个参数默认为true

flutter_engine_1.png
flutter_engine_2.png
flutter_engine_3.png

然后看MainActivity中的代码

activity_1.png
activity_2.png
activity_3.png

看到这里问题就清楚了,调用了2次插件注册方法,只需要改成只一次即可。

记录一下问题

你可能感兴趣的:(Flutter项目错误重复注册插件)