Flutter项目build.gradle报错:无法创建packLibsflutterBuildDebug任务
Flutter项目build.gradle报错:无法创建':app:packLibsflutterBuildDebug'任务的解决方法
问题描述
在Flutter项目的android/build.gradle文件中遇到如下错误:
The supplied phased action failed with an exception
配置根项目'android'时出现问题,无法创建':app:packLibsflutterBuildDebug'任务,原因是org.gradle.api.tasks.bundling.Jar类型任务找不到适配参数为File的destinationDir()方法,错误提示的红色下划线出现在buildscript代码块下方。
已尝试删除android文件夹但问题未解决,对应的build.gradle代码如下:
buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
解决方法
1. 对齐Gradle与Flutter版本兼容性
该错误大概率是Gradle和Flutter SDK版本不匹配导致的:
- 查看项目
pubspec.yaml中Flutter SDK版本,对照官方文档调整buildscript里的com.android.tools.build:gradle版本 - 确保
kotlin-gradle-plugin版本与Gradle版本兼容(Gradle 7.2.0适配Kotlin 1.6.21及以上,当前1.7.10可尝试降级到1.6.21测试)
2. 移除自定义buildDir配置
自定义build路径可能导致Jar任务的destinationDir解析异常,注释掉以下代码:
// rootProject.buildDir = '../build' // subprojects { // project.buildDir = "${rootProject.buildDir}/${project.name}" // }
使用Gradle默认的build目录,避免路径相关的任务错误。
3. 彻底清理缓存并重建
执行以下命令清理项目缓存:
flutter clean cd android && ./gradlew clean
之后重新获取依赖并构建:
flutter pub get flutter run
4. 重新生成android目录
若删除android文件夹无效,尝试从Flutter模板重新生成:
- 备份android目录下的签名配置、
AndroidManifest.xml等重要文件 - 删除当前android目录
- 执行命令重新生成:
flutter create --platforms android .
- 恢复之前备份的配置文件
内容的提问来源于stack exchange,提问作者Mohammed Ayesh
相关产品推荐
相关产品推荐

