Flutter无调试运行时出现Gradle编译错误求助
我最近没改动任何代码,正常运行Flutter应用时突然弹出了Gradle编译错误,具体报错信息如下:
file:///C:/src/flutter/packages/flutter_tools/gradle/src/main/kotlin/DependencyVersionChecker.kt:97:99 Unresolved reference: variants
FAILURE: Build failed with an exception.
- What went wrong:
Execution failed for task ':gradle:compileKotlin'.A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
Compilation error. See log for more details
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.
BUILD FAILED in 1m 17s
Error: Gradle task assembleDebug failed with exit code 1
我已经尝试过这些方法但都没用:
- 重新安装Flutter SDK
- 更新Visual Studio Code
- 执行
flutter clean和flutter pub get - 创建新工程并迁移lib文件夹过去,但问题依旧,甚至其他原本能运行的Flutter应用现在也突然跑不起来了。
可能的解决方法
根据类似问题的排查经验,这个错误大多是Gradle版本和Flutter SDK之间的兼容性冲突导致的,你可以按顺序试试下面这些方案:
锁定兼容的Gradle版本
打开项目根目录下的android/gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl为适配Flutter的稳定版本,比如针对Flutter 3.x系列,推荐使用:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip同步Android Gradle插件版本
打开android/build.gradle文件,调整dependencies中的Android Gradle插件版本,确保和上面的Gradle版本匹配(比如Gradle 7.5对应插件7.4.2):dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 保留其他原有依赖 }清空本地Gradle缓存
手动删除Windows系统下的Gradle缓存文件夹(路径一般是C:\Users\<你的用户名>\.gradle\caches),删除后重新执行flutter pub get和flutter run,让Gradle重新下载依赖。检查Flutter环境完整性
执行flutter doctor -v命令,仔细查看输出里的环境问题提示,比如是否有Android SDK组件缺失、许可证未同意等,按照提示完成修复操作。切换Flutter SDK版本
如果前面的方法都没效果,可能是当前Flutter SDK版本存在兼容性bug,你可以切换到稳定版试试:flutter channel stable flutter upgrade要是稳定版也不行,还可以降级到之前能正常运行的特定版本:
flutter downgrade <你之前用的版本号>
内容来源于stack exchange

