插件重复注册
来源:11-10 Flutter与Native通信-Android端实战【实战应用】
hardman_
2020-06-07
使用了MethodChannel 方式与Android通信 启动app时会报错
W/FlutterEnginePluginRegistry(14771): Attempted to register plugin (io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry$ShimRegistrarAggregate@deaa0e5) but it was already registered with this FlutterEngine (io.flutter.embedding.engine.FlutterEngine@a77ba).
MainActivity
GeneratedPluginRegistrant:
在我注册了与原生通道的插件后 我在pubspec.yaml 新添加的依赖 都会以
ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine);
com.flutter_webview_plugin.FlutterWebviewPlugin .registerWith(shimPluginRegistry.registrarFor(“com.flutter_webview_plugin.FlutterWebviewPlugin”));这种形式被创建,如果我不新添加依赖就不会报错 但是只要我pubspec.yaml 文件里添加了新的依赖 并且运行 就会报错。
1回答
-
你的Flutter是那个版本呢,如果是v1.17.0可以尝试下面的注册方式:
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { GeneratedPluginRegistrant.registerWith(flutterEngine); //flutter sdk >= v1.17.0 时使用下面方法注册自定义plugin AsrPlugin.registerWith(this, flutterEngine.getDartExecutor().getBinaryMessenger()); }022020-06-07
相似问题