本文目标
成功在Android原生项目中集成Flutter
Warning
- 从Flutter v1.1.7版本开始,Flutter module仅支持AndroidX应用
- 在release模式下Flutter仅支持以下架构:x86_64,armeabi-v7a,arm64-v8a,不支持mips和x86,所以引入Flutter前需要选取Flutter支持的架构
android{
//...
defaultConfig {
//配置支持的动态库类型
ndk {
abiFilters 'x86_64','armeabi-v7a', 'arm64-v8a'
}
}
}
混合开发的一些适用场景
- 在原有项目中加入Flutter页面
- 原生页面中嵌入Flutter模块
- 在Flutter项目中嵌入原生模块
主要步骤
- 创建Flutter module
- 为已存在的Android项目添加Flutter module依赖
- 早Kotlin/Java中调用Flutter module
- 编写Dart代码
- 运行项目
- 热重启/重新加载
- 调试Dart代码
- 发布应用
请把所有的项目都放在同一个文件夹内
- WorkProject
- AndroidProject
- iOSProject
- flutrter_module
WorkProject下面分别是原生Android模块,原生iOS模块,flutter模块,并且这三个模块是并列结构
创建Flutter module
在做混合开发之前我们需要创建一个Flutter module
这个时候需要
cd xxx/WorkProject /
创建flutter_module
flutter create -t module flutter_module
如果要指定包名
flutter create -t module --org com.example flutter_module
然后就会创建成功
- .android - flutter_module的Android宿主工程
- .ios - flutter_module的iOS宿主工程
- lib - flut