Gradle 8.0与Flutter 3.7兼容问题求助:构建任务创建失败报错
解决Flutter 3.7 + Gradle 8.0构建失败问题
问题原因
构建失败是因为Gradle 8.0移除了org.gradle.api.tasks.bundling.Jar.destinationDir()方法,而Flutter 3.7版本的flutter.gradle脚本仍在使用这个已废弃的API,导致无法创建packLibsflutterBuildDebug任务。
解决方法
方法1:临时修改本地Flutter Gradle脚本(快速修复)
- 打开报错提示中的
flutter.gradle文件,路径示例:C:\Users\hp\OneDrive\Documents\flutter_windows_2.10.1-stable\flutter\packages\flutter_tools\gradle\flutter.gradle - 定位到第912行,找到包含
destinationDir的代码行 - 将
destinationDir = [目标路径]替换为destinationDirectory.set(File([目标路径]))
示例修改:
原代码:
修改后:jar.destinationDir = file("${flutterBuildDir}/intermediates/flutter/${variant.name}")jar.destinationDirectory.set(file("${flutterBuildDir}/intermediates/flutter/${variant.name}")) - 重新执行Flutter构建命令即可。
方法2:升级Flutter版本(长期解决方案)
Flutter 3.10及以上稳定版本已完成对Gradle 8.0的适配,直接升级Flutter就能彻底解决兼容问题:
flutter upgrade
升级完成后无需修改任何脚本,可直接正常构建。
内容的提问来源于stack exchange,提问作者Rahul Rohini
相关产品推荐
相关产品推荐

