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次插件注册方法,只需要改成只一次即可。

记录一下问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容