Flutter Module 使用及如何支持embedding v1

2,485 阅读1分钟

创建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

参考文档

flutter.dev/docs/develo…

github.com/flutter/sam…

flutter.dev/docs/develo…