前言

    最近在研究android和flutter的混合开发。插件模式调用原生的混合模式已经在项目中使用,也暴露出一些问题,
最突出的问题就是flutter中对webview的支持,会出现各种各样奇怪的问题还没办法解决(也许修改flutter源码可
解决)。所以考虑尝试用原生打开flutter页面的混合方式进行开发。咸鱼团队也推出了这种混合开发模式的框架
flutter boost。下面就是我在使用该框架中遇到的问题以及解决的方法,持续更新

环境说明

开发工具:Android Studio
Flutter版本:2.0.3
Flutter Boost版本:v3.0-hotfixes

集成过程

flutter boost项目地址
先吐槽下,项目介绍里提供的集成说明简陋的一批,按它的方法能成功集成才有鬼

  1. 创建一个安卓项目:DemoOne

  2. 给项目添加flutter module:flutter_module(可是使用命令行,也可以用IDE的插件完成,我这边是通过IDE的插件完成的,需要IDE安装flutter和dart两个插件)
    添加完成后,settings.gradle和build.gradle会有以下变化

  3. 将flutter boost以插件的方式配置到flutter_module里

  4. 在build.gradle中添加flutter boost依赖,如下图

完成上面3步,在真机上运行安卓项目,如果能正常启动,恭喜你,可以继续集成之路了。我运行安卓项目的时候很诡异,第一次能正常启动,我按上面的步骤又搭了一遍项目,报错!!!各种搜不到解决方法,我就在真机上debug运行了flutter_module项目,再运行安卓项目,正常了!!!!!!

  1. 安卓项目中创建MyApplication类,继承自FlutterApplication(注意,不是原生的Application),然后在onCreate中初始化flutter boost

    class MyApplication : FlutterApplication() {override fun onCreate() {super.onCreate()//初始化flutter boost/*** 1.使用ENGINE_ID初始化flutter engine,全局共享一个engine* 2.设置消息代理*/FlutterBoost.instance().setup(this, MyFlutterBoostDelegate(), null)}
    }
    
  2. 点击按钮打开flutter页面
    private lateinit var openFlutterBtn:Buttonoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)openFlutterBtn = findViewById(R.id.open_flutter_btn)openFlutterBtn.setOnClickListener {openFlutter()}}private fun openFlutter(){val params = HashMap<String, Any>()params["test1"] = "v_test1"params["test2"] = "v_test2"val intent = FlutterBoostActivity.CachedEngineIntentBuilder(FlutterBoostActivity::class.java, FlutterBoost.ENGINE_ID).backgroundMode(FlutterActivityLaunchConfigs.BackgroundMode.opaque).destroyEngineWithActivity(false).url("flutterPage").urlParams(params).build(this)startActivity(intent)}
    
    针对打开flutter页面,我大概整理了一下关键的几个类和大概的一个流程


flutter boost使用简介(踩坑记录,持续更新)相关推荐

  1. uniapp(踩坑记录 持续更新)

    20221010 uniapp indicator-dots样式修改 <style>/* 默认指示点的样式 */.screen-body .wx-swiper-dot {width: 6r ...

  2. 【威联通QNAP】TS-216折腾踩坑记录(更新于22.11.22)

    本篇博客记录了我使用威联通ts216的折腾记录.nas购入于2022年双11,京东自营 关于系统初始化等内容不做记录,这部分网上可以找到很多教程,只要是威联通,方法都是一样的 初始化参考视频 [村雨] ...

  3. 安卓 Native+Flutter 应用开发入门资料、亲身实战及踩坑记录

    安卓 Native+Flutter 应用开发实战及踩坑记录,练手入门项目:FluLearn 入门资料 第三方共享包检索(国内).第三方共享包检索(国外) Flutter开发环境搭建(中文版).Flut ...

  4. Laya小游戏上架Vivo平台踩坑记录(持续更新)

    Laya小游戏上架Vivo平台踩坑记录(持续更新) 个人踩坑的一些记录,大佬留情! 一些快捷键: Ctrl+P 搜索脚本文件 Ctrl+Y 恢复操作 Ctrl+Z 撤回操作 Ctrl+F 搜索字段 C ...

  5. Laya小游戏上架Oppo平台踩坑记录(持续更新)

    Laya小游戏上架Oppo平台踩坑记录(持续更新) 个人踩坑的一些记录,大佬留情! 一些快捷键: Ctrl+P 搜索脚本文件 Ctrl+Y 恢复操作 Ctrl+Z 撤回操作 Ctrl+F 搜索字段 C ...

  6. TVM: Deep Learning模型的优化编译器(强烈推荐, 附踩坑记录)

    本文作者是阿莱克西斯,原载于知乎,雷锋网(公众号:雷锋网)获得授权转载. (前排提醒,本文的人文内容部分稍稍带有艺术加工,请保持一定的幽默感进行阅读) 关注我最近想法的同学应该知道我最近都在把玩 TV ...

  7. AirSim学习和踩坑记录(不定时更新)

    版权声明:本文为博主原创文章,遵循Creative Commons - Attribution-ShareAlike 4.0 International - CC BY-SA 4.0版权协议,转载请附 ...

  8. Elasticserch 5.6到Elasticsearch7.11跨版本升级踩坑记录

    Elasticserch 5.6到Elasticsearch7.11跨版本升级踩坑记录 1.背景 公司老的业务使用的是Elasticsearch5.6版本,使用的客户端是TransportClient ...

  9. STF环境搭建运行及踩坑记录

    最初是在centos环境上搭建STF,由于种种依赖缺失.nodejs/npm版本不兼容.以及无解的"Segmentation fault (core dumped)"错误,最终还是 ...

  10. Slam学习笔记——ROS踩坑记录

    Slam学习笔记--ROS踩坑记录 1. 安装 2. ROS文件系统 2.1 工作区 2.2 包package 2.2.1 包的操作 2.2.2 描述文件package.xml 2.3 节点node ...

最新文章

  1. PHP沉思录-第三篇-Smarty-左轻侯-《程序员》2007年10月号
  2. FreeMark将long类型的时间格式化
  3. 微服务最佳实践:MSE 微服务引擎
  4. C语言高级编程:数组指针与数组
  5. 论文浅尝 | AutoETER: 用于知识图谱嵌入的自动实体类型表示
  6. 在GPU上运行,性能是NumPy的11倍,这个Python库你值得拥有
  7. 数据库-MySQL-JDBC框架
  8. ×××与字符串的相互转换
  9. rmmod不能卸载驱动
  10. 数据结构链表(C语言实现)
  11. 苹果电脑如何改id?这篇文章帮你搞定
  12. 2019 SWERC
  13. 知名建筑景观3D可视化渲染软件lumion10.5
  14. 嵌入式行业需要什么样的技术人才?
  15. 汇编指令——bic(位清除)、orr(位或)、eor (异或)
  16. 写作历时一个月,长达8000字的年终总结——[2022年终总结]不要怕,请勇敢的向前走
  17. dubbo环境的简单搭建
  18. 大数据python试卷_大数据分析的python基础-中国大学mooc-试题题目及答案
  19. 【不收藏一定后悔】超智能三子棋——和电脑比一把
  20. SSL证书、 der、 cer、 pem区别

热门文章

  1. 太可了!阿里巴巴发布第一台「云电脑」,程序员再也不怕丢电脑了...
  2. 饥荒如何修改服务器人数上限,饥荒联机版房间人数上限修改图文教程_饥荒联机版房间人数上限怎么修改_牛游戏网...
  3. 如何在Flash里面使用魔术棒工具
  4. uniapp连接数据库
  5. MySQL免安装版安装探索
  6. 手工实现各种脱壳后的修复
  7. 《爱情路过广州拐角》经典简摘
  8. 机顶盒中加密芯片的应用
  9. 魔兽世界1月14日服务器维护,魔兽世界2021年1月14日更新内容介绍 职业平衡调整一览...
  10. 小学计算机课信息就在我身边教案,人教版小学信息技术教案.doc