一、Flutter Module 集成到 Android 原生项目中:
系统环境:
1.AS 版本 Android Studio Hedgehog | 2023.1.1 Patch 1
2.gradle 的jdk17,gradle version 8.2,gradle plugin 8.2.1,flutter版本Flutter 3.16.1,Dart 3.2.1 • DevTools 2.28.3,系统jdk也是17
3.目录结构 Android project和flutter_module 在同一个文件夹下,他俩是同级目录
步骤:
1. setting.gradle
结尾添加如下代码:
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile,
'flutter_module/.android/include_flutter.groovy'
))
2. setting.gradle 修改,解决报错:导入报错Failed to apply plugin class ‘FlutterPlugin’.
dependencyResolutionManagement {
// 使用这行代码,在引用flutter module时会报错,
// repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) // 解析依赖库时 , 强行使用远程仓库 , 不管本地仓库有没有该依赖库 ;
repositoriesMode.set(RepositoriesMode.PREFER_PROJECT) // 解析依赖库时 , 优先使用本地仓库 , 本地仓库没有该依赖 , 则使用远程仓库 ;
}
3. app/build.gradle 修改,解决兼容性
android {
defaultConfig {
// 添加ndk,解决兼容性 arm64在M芯片中需要添加
ndk {
// Filter for architectures supported by Flutter.
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64', 'arm64'
}
}
// 解决兼容性 java11好一些(官网推荐)
compileOptions {
sourceCompatibility JavaVersion.VERSION_11 // 将8修改成11
targetCompatibility JavaVersion.VERSION_11 // 将8修改成11
}
}
4. app/build.gradle 添加flutter引用
dependencies {
// 添加flutter引用
implementation project(':flutter')
}
5.测试是否添加成功
5.1 External Library中有flutter包的引用
5.2 AS中输入Flu有自动提示
参考资料:1 将 Flutter module 集成到 Android 项目 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
2 Android导入Flutter Module报错Failed to apply plugin class ‘FlutterPlugin’._failed to apply plugin class 'flutterplugin'.-CSDN博客