Flutter构建报错:embedding/FlutterActivity未解析、generateLockfiles任务创建失败
环境信息
- 开发工具:IntelliJ IDEA 2022.1.2
- Flutter版本:3.0.2
- JDK版本:Java 11.0.5
- 操作系统:Windows 11
- 触发场景:无任何自定义代码修改的Flutter初始化默认示例项目,构建时触发两类报错,社区公开方案仅能临时修复部分问题,新建项目后Kotlin未解析引用问题仍稳定复现。
报错清单
Kotlin编译阶段报错
Kotlin: Unresolved reference: embedding Kotlin: Unresolved reference: FlutterActivity
Android依赖同步阶段报错
Could not create task ':generateLockfiles'
修复步骤
解决Kotlin未解析引用问题
- 关闭IDEA中当前打开的项目,打开终端进入项目根目录,依次执行命令清理构建缓存、重新拉取依赖:
flutter clean flutter pub get
- 打开
android/app/src/main/kotlin/[对应项目包名]/MainActivity.kt文件,确认导包和类继承逻辑为以下默认配置,无错误手动修改:
import io.flutter.embedding.android.FlutterActivity class MainActivity: FlutterActivity() { }
- 打开
android/build.gradle文件,将ext.kotlin_version字段值固定为1.6.21——这是Flutter 3.0.2官方适配的Kotlin版本,版本过高或过低都会导致嵌入类无法被识别。 - 在IDEA顶部菜单依次选择File -> Invalidate Caches,勾选所有缓存清理选项,点击Invalidate and Restart,等待重启完成、项目索引全部重建后再执行后续操作。
解决generateLockfiles任务创建失败问题
- 打开
android/gradle/wrapper/gradle-wrapper.properties文件,将distributionUrl配置为Gradle 7.4版本分发包,匹配Flutter 3.0.2的版本要求。 - 回到
android/build.gradle文件,确认Android Gradle插件版本为7.1.3,和上述Gradle版本一一对应,版本不匹配是该报错的核心诱因。 - 删除
android目录下的gradle.lockfile文件、build目录、.gradle缓存目录,重新触发Gradle同步即可。
验证标准
先在项目根目录执行flutter run,确认命令行环境下可以正常构建启动应用,再回到IDEA中触发Android侧Gradle同步,两类报错均不会复现。如果需要避免新建项目重复踩坑,可以把上述版本配置写入Flutter全局项目模板,替换默认生成的版本配置即可。
内容的提问来源于stack exchange,提问作者Bamby
相关产品推荐
相关产品推荐

