前言
Flutter是Google开源的构建用户界面(UI)工具包
支持在不同平台构建一致的ui效果
但在实际业务中,一般不会整个APP都用纯Flutter开发
尤其一些老的项目,会采用接入Flutter的方式来混合开发
那么今天就主要讲一下如何搭建一个Flutter的混合项目
混合项目实现方式
目前官方提供了两种方式添加依赖关系,他们的介绍分别如下:
方式一:模块代码依赖模式
这种方式是将flutter代码引入android项目,flutter代码对原生可见
好处是确保了一步完成Android项目和Flutter模块的编译。
对于同时涉及两个部分并且快速迭代很方便,
但这需要团队的每个人成员都安装Flutter SDK来确保顺利编译这个混合app。
方式二:AAR依赖模式
这种方式是将flutter代码打包成aar引入android项目,flutter代码对原生不可见
AAR模式有个好处就是团队中的其他成员不需要安装Flutter SDK,
最少只需要一个人输出AAR即可。
限于篇幅原因,今天这篇博客主要讲方式一的实现,
方式二的我单独写了一篇博客:
Flutter基础入门:手把手教你搭建Flutter混合项目:AAR方式集成
模块代码依赖模式实现
手动创建Flutter模块
首先我们新建一个简单的Android项目
然后进入到项目目录
打开cmd窗口,输入以下命令:
flutter create -t module --org com.xiongyp flutterxiongmodule
这样就创建了一个包名为com.xiongyp.flutterxiongmodule的Flutter模块
这里注意一点,Flutter模块放在其他目录下创建也是可以的
只要后面配置好地址,能链接到这个目录就好
引入Flutter模块
在Android项目的settings.gradle中将Flutter模块作为子项目引入
settings.gradle这样写:
rootProject.name = "FlutterHybridProject"
include ':app'
setBinding(new Binding([gradle: this])) // 新增
evaluate(new File( // 新增
settingsDir.parentFile, // 新增
"${
rootProject.name}/flutterxiongmodule/.android/include_flutter.groovy" // 新增
)) // 新增
include ':flutterxiongmodule'
这里注意下:如果你的Flutter模块放在其他目录下
记得把include_flutter.groovy文件的路径配置准确
也就是这一行:
"${
rootProject.name}/flutterxiongmodule/.android/include_flutter.groovy"
配置好了之后将settings.gradle的
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
}
}
改为:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode

本文介绍了如何在Android项目中集成Flutter进行混合开发,主要讲解了模块代码依赖模式,包括创建Flutter模块、引入模块到Android项目、配置Gradle文件以及处理页面跳转,特别提到了使用FlutterEngine来优化页面过渡以避免白屏问题。
最低0.47元/天 解锁文章
1103

被折叠的 条评论
为什么被折叠?



