flutter和Android混编下出现“No implementation found for method xxxx on channel”错误

这个错误出现的原因是Plugin的方法没有找到,也可能是Plugin本身就没有注册成功。

在混编情况下出现这个问题,很大概率是我们在网上查找的资料中是这样写的。

import android.os.Bundle
import io.flutter.app.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {private val flutterMethodChannelName = "flutterCallbackMethodChannel"var methodChannel_callFlutter: MethodChannel? = null@SuppressLint("NewApi")override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)GeneratedPluginRegistrant.registerWith(FlutterEngine(this@MainActivity))methodChannel_callFlutter = MethodChannel(flutterView, flutterMethodChannelName)}
}

这个代码在flutter更新了FlutterActivity后就会导致这个问题,不能再引用io.flutter.app.FlutterActivity这个FlutterActivity,而应该改用io.flutter.embedding.android.FlutterActivity。同时,继承自新版本FlutterActivity的MainActivity找不到flutterView这个方法,因此要改用getFlutterEngine().getDartExecutor().getBinaryMessenger()来代替。

代码改为:

import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugins.GeneratedPluginRegistrantclass MainActivity: FlutterActivity() {private val flutterMethodChannelName = "flutterCallbackMethodChannel"var methodChannel_callFlutter: MethodChannel? = null@SuppressLint("NewApi")override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)methodChannel_callFlutter = MethodChannel(flutterEngine!!.dartExecutor.binaryMessenger, flutterMethodChannelName)}override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {GeneratedPluginRegistrant.registerWith(flutterEngine);}
}

参考文章
https://blog.csdn.net/qq_40928212/article/details/105545875
https://blog.csdn.net/oZhuiMeng123/article/details/98120505
https://blog.csdn.net/weixin_44160584/article/details/108244793

flutter和Android混编下出现“No implementation found for method xxxx on channel”错误相关推荐

  1. dart和python混编,Flutter与iOS混编(一)

    前言 Flutter和iOS支持两种形式的混编,一种是某一些页面全是用flutter去绘制,另外一只是flutter页面作为iOS某个控制器页面的一部分去展示,后面会逐步去介绍这两种方式的实现 本篇文 ...

  2. Android 混编项目打包流程

    本文送给我离职以后缺爱的前端同事们,祝愿他们在没有了打包靠山后可以自食其力,靠自己撑起打包界的一片天 本秘籍分为四步,前三步可实现在已连接的手机上安装并自动显示(即使界面上看见了图标也不要去点!让子弹 ...

  3. android 混编JsBridge的原理和实现

    首先我们先要知道 js调用Android的方法有以下四种: WebView的JavascriptInterface WebViewClient.shouldOverrideUrlLoading() W ...

  4. 原生工程接入Flutter实现混编

    前言 上半年我定的OKR目标是帮助团队将App切入Flutter,实现统一技术栈,变革成多端融合开发模式.Flutter目前是跨平台方案中最有潜力实现我们这个目标的,不管是Hybird还是React ...

  5. cache failed module status_Flutter混编之路——iOS踩坑记录

    一.运行Xcode编译或者flutter run/build 过程中报错:"x86_64" is not an allowed value for option "ios ...

  6. android蓝牙通信_Flutter通过BasicMessageChannel实现Flutter 与Android iOS 的双向通信

    题记: --不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧. 通过 Flutter 来进行移动应用开发,打包 Android .iOS 双平台应用程序,在调用如相机 ...

  7. Flutter通过BasicMessageChannel实现Flutter 与Android iOS 的双向通信

    更多文章请查看 flutter从入门 到精通 本文章中的完整代码在这里 题记: -- 不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧. Flutter 与 Andr ...

  8. android 原生混编 flutter 并使用 flutter_boost进行跳转的步骤以及注意事项

    导入步骤: 1.将flutter_module放在项目中,与app module平级. 2.在项目build.gradle里面,加入以下代码: include ':app' // 加入下面配置 set ...

  9. flutter java混编_有赞 Flutter 混编方案

    背景 目前准备试水 Flutter,但是多数native开发是不了解Flutter,因此需要设计一种比较"舒服"的集成方式. 混编方案 方案考量 如果直接采用 Flutter 工程 ...

最新文章

  1. uni中动态加载class_SpringBoot中使用LoadTimeWeaving技术实现AOP功能
  2. java ftp下载文件 慢_java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题...
  3. pandas使用笔记大全
  4. 布隆过滤器速度_详解布隆过滤器的原理、使用场景和注意事项
  5. ElasticSearch6.3脚本更新
  6. 掘金浏览器插件安装图文教程
  7. CentOS 5安装GIT的基本命令
  8. 记一次详细的的SQL查询经历,group by慢查询优化
  9. [stl]集合相似度(PTA)
  10. python高级编程教程_python高级编程——入门语法(一)
  11. matlab能替代几何画板吗,比几何画板更强大的工具软件GeoGebra,数学老师值得拥有...
  12. ptcms自动采集小说系统源码 电脑版+手机版
  13. 网上大多数原理总结,UDP打洞原理
  14. IDEA使用/配置指南(从入门到精通)_by瞎琢磨先生
  15. 基于物理信息深度学习的交通状态估计:以LWR和CTM模型为例
  16. JSP书香味道点餐系统课设
  17. 更换JDK然后打不开eclipse的解决方法
  18. VC和VS的区别--通俗易懂
  19. 计算机视觉的最终表现!三维重建技术
  20. 计算机运算和控制核心的简称,计算机的核心是什么

热门文章

  1. ABP框架源码中的Linq扩展方法
  2. 欧派家居的财务费用也出现了较快速度的增长
  3. Mac添加新建文件按钮或服务
  4. 千万不要嫁给程序猿,我是认真的
  5. 三星S508手机DIY图文教程全攻略
  6. 【深度学习】Pytorch实现CIFAR10图像分类任务测试集准确率达95%
  7. 华为eNsp 配置ospf协议
  8. cmd 查看端口占用并且结束进程【建议收藏】
  9. 广州市长温国辉:用“加减乘除法”发展民营经济
  10. 全国计算机等级一级b真题,2011年3月全国计算机等级考试一级B真题及参考答案.doc...