本文是针对 Android 项目添加 Flutter 模块的情况编写的。
开发环境
- PC with Win10 20H2
- Android Studio Arctic Fox | 2020.3.1 Patch 2(试过小松鼠版本,太不喜欢了,电鳗就更没去尝试)
- AGP 7.0.2
手动创建Flutter模块
在Terminal
执行下方命令
flutter create -t module --org com.randalldev fluttermodule
然后官方提供了两种方式添加依赖关系:
-
AAR
依赖模式AAR
模式有个好处就是团队中的其他成员不需要安装Flutter SDK
,最少只需要一个人输出AAR
即可。但是我个人不喜欢这种方式,我更倾向于
git submodule
的项目管理方式,并且安装Flutter SDK
的成本实在算不上高,因此,这种方式,我按下不表。 -
模块代码依赖模式
这种方式确保了一步完成
Android
项目和Flutter
模块的编译。这种方式对于你的开发同时涉及两个部分并且快速迭代很方便,但这需要团队的每个人成员都安装Flutter SDK
来确保顺利编译这个混合app
。在主项目的
settings.gradle
中将Flutter
模块作为子项目引入。
// Include the host app project.
include ':app' // 默认已有的配置
setBinding(new Binding([gradle: this])) // 新增
evaluate(new File( // 新增
settingsDir.parentFile, // 新增
"${
rootProject.name}/fluttermodule/.android/include_flutter.groovy" // 新增
)) // 新增
此时
AS
会提示你gradle
配置变更了,需要重新sync
,别急,先别点!
排雷
此时当你点了sync会出现如下报错
* What went wrong:
A problem occurred evaluating script.
> Failed