原生Android和Flutter集成主要有两种方案:
1.源码集成:官方提供的源码集成方案
2.产物集成:Flutter 项目单独开发,开发完成后发布成 aar 包或者 iOS 的 framework 形式,原生项目依赖 Flutter 输出的文件即可。
3.咸鱼团队的FlutterBoost 方案。FlutterBoost地址
环境
首先确认环境是否正确:
这里重点关注一下Flutter version的版本。在后面介绍集成开发的时候,不同的Flutter版本有差别。
flutter doctor -v
下面是我的环境信息:
集成
创建Android项目
略过新建 Native Android项目的流程。
注意点:
(1)现在创建的Flutter module默认是支持Android X的,所以如果想在现有的项目中集成Flutter module需要把support包替换成Android x。所有这里是通过新建一个 Native Android项目(默认支持Android x)来演示混合开发流程。
(2)配置信息,需要在app/build.gradle里设置
android {
//...
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
创建Flutter module
- 切换 flutter 的 channel 到 master (master 分支下是 flutter 的 preview 版本)
flutter channel master
- 创建 flutter module项目
module后面是新建的Flutter module的名称。
flutter create -t modu