Flutter混合开发实战

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter混合开发实战相关的知识,希望对你有一定的参考价值。

参考技术A 之前开发了一个纯Flutter的项目,结果接到个新的需求需要使用Flutter单独开一个模块集成到原有的android项目中
下面分享一下如何集成现有的项目和如何继承以及碰到的问题
1.首先第一步 修改gradle
因为 Flutter 当前仅支持为 x86_64,armeabi-v7a 和 arm64-v8a 构建预编(AOT)的库 所以我们需要修改gradle的文件限制 APK 中支持的架构,从而避免 libflutter.so找不到引起的崩溃

2.新建一个FlutterModel的工程

2.使用aar文件 因为所有工程统一使用jenkins打包所以我们放在本地肯定是不合适的
说以我们需要 打包aar并上传服务器

上传完成后在android中引用

在开发中遇到的问题
1.关于android和ios中的跳转传参问题
这个问题在android端还是比较方便的 但是的在Ios端并不怎么好实现
最终决定使用flutter_boost来完成android和Ios与Flutter的通信操作
flutter_boost github地址: https://github.com/alibaba/flutter_boost
集成文档: https://github.com/alibaba/flutter_boost/blob/master/INTEGRATION.md
集成文档给出了 但是没有android的 尴尬
下满分享下android的集成
(1)在flutter的 pubspec.yaml工程中添加

(2)修改android工程
使用本地工程的时候需要在工程共添加

使用aar的时候不需要添加
(3)在android工程中添加对应的条状路由配置

(4)在使用默认的flutter_boost启动界面的时候可能碰到状态栏丢失的情况
所以最好集成BoostFlutterActivity写一个新的activity方便处理状态栏和activity进出动画

(5)跳转并传参
//params 传多个参数可以使用json的形式

2.在flutter中的网络框架使用的dio结果在ios的弹出loading的时候出现卡顿现象
解决方式:1.服务换证书 (但是后台太忙暂时没有支持的人员)
2.ios使用原生的loading解决
3.在使用dio的时候出现ios部分手机 网络请求缓慢问题
解决方法:请求的时候使用http 2.0协议
插件地址: https://github.com/flutterchina/dio/tree/master/plugins/http2_adapter

以上是关于Flutter混合开发实战的主要内容,如果未能解决你的问题,请参考以下文章

《Flutter开发从入门到实战》:为什么要学Flutter?

《Flutter开发从入门到实战》:为什么要学Flutter?

《Flutter开发从入门到实战》:为什么要学Flutter?

《Flutter开发从入门到实战》:为什么要学Flutter?

React Native电商项目实战混合APP开发 React Native实战 混合APP实战开发

低价谷歌的移动UI框架Flutter实战企业级APP实战开发高级案例课程Flutter开发深入浅出