今天遇到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
然后看MainActivity中的代码
看到这里问题就清楚了,调用了2次插件注册方法,只需要改成只一次即可。
记录一下问题