Flutter/Android Studio中KGP版本检测失败及代码引用错误求助
解决Flutter编译时的KGP版本检测警告与MainActivity引用错误
问题分析
- 警告原因:Flutter Gradle Plugin在Kotlin Gradle Plugin(KGP)之后加载,导致无法检测KGP版本,跳过版本检查。
- 编译错误原因:MainActivity中引用的
FlutterActivity属于Flutter嵌入层依赖,但当前Gradle配置未引入该依赖,导致无法解析引用。
解决方案
1. 调整Gradle插件加载顺序并清理重复配置
修改android/build.gradle(根项目的Gradle配置),移除重复的Kotlin插件classpath:
buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:8.0.0' // 移除该行重复配置:classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10" } } allprojects { repositories { google() mavenCentral() } }
修改android/app/build.gradle,调整插件加载顺序,将Flutter插件放在最前面:
plugins { id "dev.flutter.flutter-gradle-plugin" id "com.android.application" version "8.0.0" id "org.jetbrains.kotlin.android" version "1.7.10" }
2. 添加Flutter嵌入层依赖
在android/app/build.gradle的dependencies块中添加Flutter嵌入相关依赖:
dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10" // 添加Flutter嵌入依赖 implementation flutter.embedding implementation flutter.plugins }
3. 同步并重新编译
- 点击Android Studio工具栏的Sync Project with Gradle Files按钮同步配置
- 执行Build -> Clean Project清理旧编译缓存
- 重新运行项目
验证
完成上述步骤后,KGP版本检测警告会消失,MainActivity中的FlutterActivity引用也能正常解析,项目可正常编译运行。
内容的提问来源于stack exchange,提问作者datavinnie
相关产品推荐
相关产品推荐

