一 概述
- Android Studio 向已有项目中添加Flutter模块
- 注意事项
- 原生代码启动Flutter模块
二 运行环境和插件
2.1 运行环境
- Android studio:4.2.2
- Java:1.8.0_241
- Flutter:2.2.3
- Dart:2.13.4
2.2 插件(安装Flutter时,Dart自动安装)
三 Android Studio 向已有项目中添加Flutter模块
3.1 创建原生项目
2.2 添加Flutter模块
- 在刚创建的项目上,依次点击:File——>New——>New Module
- 在打开的页面中,选择左侧的Flutter Module选项卡,并依次设置项目名称,选择Flutter SDK,及Flutter的位置
- 设置Flutter的包名
- Flutter添加完成后的项目结构
四 注意事项
4.1 ABI设置
- Flutter AOT编辑模式目前只支持armeabi-v7a和arm64-v8a
- 在Android项目的app/build.gradle配置ABI限制,否则运行时找不到libflutter.so而奔溃
android {//...defaultConfig {ndk {// Filter for architectures supported by Flutter.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'}}
}
4.2 java8要求
- Flutter Android引擎使用Java 8功能
- 在应用程序的
build.gradle
文件中,在android { }
块下声明以下源兼容性
android {//...compileOptions {sourceCompatibility 1.8targetCompatibility 1.8}
}
五 原生代码启动Flutter模块
5.1 向AndroidManifest.xml添加FlutterActivity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"android:hardwareAccelerated="true"android:windowSoftInputMode="adjustResize"/>
说明:
- name:必须包含此属性,是固定格式,不能修改
- 其他属性:可以没有
5.2 界面中添加点击跳转Flutter按钮
5.3 Button点击事件,点击后跳转FlutterActivity
fun jumpFlutter(view: View) {startActivity(FlutterActivity.createDefaultIntent(this))}
说明:
- FlutterActivity的全路径是import io.flutter.embedding.android.FlutterActivity
- FlutterActivity将加载flutter_module中lib/main.dart的main方法
5.4 选择app运行后,效果图
有两个选项:app和main.dart,运行app后点击跳转Flutter按钮