You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter构建失败:PathNotFoundException与Gradle插件弃用问题求助

Flutter Android构建失败求助

错误日志

当前通过`apply script`方式强制应用Flutter的app_plugin_loader Gradle插件,该方式已被弃用,后续版本会移除。需迁移至声明式的plugins块应用Gradle插件。

未处理异常:
PathNotFoundException: 无法打开文件,路径 = '/Users/.../.dart_tool/flutter_build/12ac92aa90402be39d79fb4ebb8222b4/program.dill' (系统错误:文件或目录不存在,错误码 = 2)
#0      _checkForErrorResponse (dart:io/common.dart:55)
#1      _File.open.<anonymous closure> (dart:io/file_impl.dart:381)
<asynchronous suspension>
#2      _FileStreamConsumer.addStream.<anonymous closure> (dart:io/file_impl.dart:205)
<asynchronous suspension>

Target kernel_snapshot_program 执行失败: Exception


构建失败,出现异常。

* 错误原因:
任务 ':app:compileFlutterBuildDebug' 执行失败。
> 进程 '/Users/szymonkluzek/flutter/bin/flutter' 以非零退出值1结束

* 建议尝试:
> 使用 --stacktrace 参数获取堆栈跟踪信息。
> 使用 --info 或 --debug 参数获取更多日志输出。
> 使用 --scan 参数获取完整分析报告。

构建耗时20s失败
错误:Gradle任务assembleDebug执行失败,退出码1

环境版本信息

Flutter 3.24.5 • stable通道
框架 • 修订版本 dec2ee5c1f • 2024-11-13 11:13:06 -0800
引擎 • 修订版本 a18df97ca5
工具 • Dart 3.5.4 • DevTools 2.37.3
Android SDK版本 35.0.0
Android Studio版本 2024.2
compileSdkVersion 35
targetSdkVersion 35
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-all.zip
classpath 'com.android.tools.build:gradle:8.1.1'
openjdk版本 "17.0.13" 2024-10-15
OpenJDK Runtime Environment Homebrew (build 17.0.13+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.13+0, 混合模式, 共享)
ext.kotlin_version = '1.8.10'
Dart SDK版本: 3.5.4 (stable) (Wed Oct 16 16:18:51 2024 +0000) on "macos_arm64"

已尝试的修复操作

flutter clean
flutter pub get
flutter pub upgrade
flutter pub outdated
flutter upgrade --force
flutter pub cache repair

rm -rf .dart_tool

./gradlew --stop
./gradlew clean
./gradlew build --stacktrace
rm -rf ~/.gradle/caches/

问题背景

添加Firebase Messaging后触发该问题,iOS端构建正常,但执行./gradlew build --refresh-dependencies时会出现相同错误:

> Task :app:compileFlutterBuildDebug FAILED

FAILURE: Build failed with an exception.

* 错误原因:
任务 ':app:compileFlutterBuildDebug' 执行失败。
> 进程 '/Users/szymonkluzek/flutter/bin/flutter' 以非零退出值1结束

解决建议

1. 修复Gradle插件声明方式

找到项目根目录的android/build.gradle,将旧的apply方式替换为声明式plugins块:

  • 移除原有代码:
    apply plugin: 'com.android.application'
    apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
    
  • 替换为:
    plugins {
        id "com.android.application"
        id "dev.flutter.flutter-gradle-plugin"
    }
    

确保插件版本与本地Flutter版本匹配,若为Flutter模块嵌入原生项目,需对应调整配置。

2. 校验Firebase配置完整性

确认android/app目录下存在google-services.json,并检查Gradle配置:

  • 根目录build.gradle添加:
    dependencies {
        classpath 'com.google.gms:google-services:4.4.2'
    }
    
  • app模块build.gradle末尾添加:
    apply plugin: 'com.google.gms.google-services'
    

3. 彻底清理并重新构建

执行以下命令强制清理缓存并重新生成构建文件:

flutter clean
rm -rf ~/.dart_tool
rm -rf android/.gradle
flutter pub get
flutter run --debug --verbose

--verbose参数可输出详细日志,帮助定位kernel快照生成失败的具体原因。

4. 检查目录权限

确保当前用户对.dart_tool目录有读写权限:

chmod -R 755 ~/.dart_tool

5. 版本兼容性测试

若上述方法无效,可临时降级Flutter版本至3.22.x稳定版,验证是否为版本适配问题:

flutter downgrade 3.22.3

内容的提问来源于stack exchange,提问作者Szymon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:24:54