workspace
├── android_project
└── flutter_module
android_project
是我们现有的 Android 工程代码目录。flutter_module
是我们新增的 fluuter 模块代码目录,将两个工程放到同一目录下。为了统一配置,建议必须按照这个目录结构进行管理两个工程的代码。
注意:flutter_module是 module,不是 project 类型,在 Android Studio 中一定要选择 File > New > New Module > Flutter Module,不要选择File > New > New Flutter Project
创建 flutter module 也可以使用如下命令:
$ flutter create -t module name_of_module
2. 配置 settings.gradle
在 Android 工程的 settings.gradle做如下修改
// Include the host app project.
include ‘:app’ // assumed existing content
setBinding(new Binding([gradle: this])) // new
evaluate(new File( // new
settingsDir.parentFile, // new
‘my_flutter/.android/include_flutter.groovy’ // new
)) // new
3. 依赖 flutter 模块
在 Android 模块的 build.gradle中加入如下依赖。
dependencies {
implementation project(’:flutter’)
}
然后单击Sync Now
同步 Gradle 即可。
完成这一步就可以在 Android 原生代码中使用 flutter 模块了。
4. 配置 AndroidManifest.xml
启动 flutter 模块需要使用FlutterActivity
,所以需要在 AndroidManifest.xml 中注册一下。
<activity
android:name=“io.flutter.embedding.android.FlutterActivity”
android:theme="@style/LaunchTheme"
android:configChanges=“orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode”
android:hardwareAccelerated=“true”
android:windowSoftInputMode=“adjustResize”/>
5. 启动 Flutter 模块
在任意地方执行如下代码即可启动 Flutter 模块。
startActivity(FlutterActivity
.withNewEngine()
.initialRoute(“splashRoute”) // 启动指定 Flutter page,没有可以省略
.build(requireContext()))
=====================&#