Flutter构建失败:无法创建generateDebugUnitTestConfig任务及根目录不匹配错误
解决Flutter构建时':flutter_plugin_android_lifecycle:generateDebugUnitTestConfig'任务创建失败的问题
这个错误源于项目构建目录与插件缓存目录跨磁盘(D盘和C盘),导致Gradle无法处理不同根目录的文件关联,以下是几种可行的解决方法:
方法1:清理缓存并重新获取依赖
- 执行命令清理项目构建文件:
flutter clean - 删除pub缓存中的目标插件:
dart pub cache remove flutter_plugin_android_lifecycle - 重新获取项目依赖:
flutter pub get - 再次尝试构建:
flutter build
方法2:统一项目和缓存的磁盘路径
针对跨磁盘路径冲突,可二选一操作:
- 将整个Flutter项目移动到C盘,与pub缓存路径同磁盘后重新构建
- 修改pub缓存路径到D盘:
- 添加系统环境变量
PUB_CACHE,值设为D盘自定义路径(比如D:\Flutter_Pub_Cache) - 重启终端,执行
flutter pub get后重新构建
- 添加系统环境变量
方法3:升级Gradle相关版本
旧版Gradle对跨磁盘路径兼容性较差,升级到稳定新版本可解决问题:
- 打开
android/build.gradle,更新Android Gradle Plugin版本:buildscript { dependencies { // 替换为稳定新版本,比如7.4.2 classpath 'com.android.tools.build:gradle:7.4.2' } } - 打开
android/gradle/wrapper/gradle-wrapper.properties,更新Gradle分发版本:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip - 执行
flutter clean和flutter pub get后重新构建
方法4:临时禁用单元测试任务(应急方案)
如果不需要单元测试,可临时跳过相关任务:
打开android/app/build.gradle,在文件末尾添加:
tasks.whenTaskAdded { task -> if (task.name.contains("UnitTest")) { task.enabled = false } }
保存后重新执行构建命令
内容的提问来源于stack exchange,提问作者my pc
相关产品推荐
相关产品推荐

