创建Flutter Module
在已有Android工程中集成flutter,可以使用AndroidStudio的new Flutter Module实现,方便快捷。


创建完成后我们的项目中会多一个叫做flutter的module

并且在项目的setting.gradle文件中会自动添加如下几行代码,
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir,
'../example_flutter_module/.android/include_flutter.groovy'
))
rootProject.name='FlutterExample'
include ':example_flutter_module'
project(':example_flutter_module').projectDir = new File('../example_flutter_module')
最后我们只需在app的build.gradle中引用这个flutter模块即可
implementation project(path: ':flutter')
flutter module useAndroidEmbeddingV1
flutter module 默认只支持 embedding v2,需要修改sdk
enum AndroidEmbeddingVersion {
/// V1 APIs based on io.flutter.app.FlutterActivity.
v1,
/// V2 APIs based on io.flutter.embedding.android.FlutterActivity.
v2,
}
-
修改 getEmbeddingVersion 判断逻辑 注释掉针对 flutter module的特殊处理
-
删除 flutter_tools.snapshot
-
命令行执行如下命令
flutter config --no-enable-android-embedding-v2
- 重启android studio