Flutter项目构建报错compileFlutterBuildDebug任务执行失败如何解决
根本原因
该报错是Flutter编译Debug产物阶段调用flutter.bat进程异常退出的通用报错,结合你提供的栈追踪里的「使用了已废弃Gradle特性、与Gradle7.0不兼容」提示,以及重克隆项目后仍周期性复发的特征,核心诱因是全链路构建缓存损坏+Gradle版本与Flutter版本不匹配。
根治步骤
- 第一步:清理全链路缓存(解决缓存损坏导致的周期性复发问题)
关闭IDE和所有Flutter、Gradle相关后台进程,在项目根目录依次执行以下命令:
接着执行命令修复Flutter全局依赖缓存:flutter clean rd /s /q build .dart_tool
最后进入Windows用户目录下的flutter pub cache repair.gradle文件夹,删除caches目录内的所有文件,清除全局Gradle缓存。 - 第二步:匹配Gradle与Flutter的兼容版本(解决版本不兼容问题)
不要使用超出当前Flutter版本兼容范围的Gradle版本:- Flutter 2.x系列对应Gradle版本最高为6.7,对应Android Gradle插件版本最高为4.2.0
- Flutter 3.03.10系列对应Gradle版本范围为6.77.5,对应Android Gradle插件版本范围为4.2.0~7.4.0
修改项目android/gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl参数,调整为对应兼容的Gradle版本;再修改项目android/build.gradle文件中的com.android.tools.build:gradle插件版本,和Gradle版本一一匹配。
- 第三步:清除Gradle废弃语法
在项目android目录下执行命令:
根据输出的废弃警告,逐一修改项目Gradle配置中的废弃语法,彻底消除兼容性提示。gradlew --warning-mode all
验证操作
完成上述步骤后,在项目根目录执行flutter pub get重新拉取依赖,再执行flutter run启动项目即可。如果仍有报错,执行flutter build debug -v查看完整编译日志,定位具体的代码或依赖层面的错误即可。
内容的提问来源于stack exchange,提问作者Acorcdev
相关产品推荐
相关产品推荐

