Flutter运行报错:barcode_scan2 generateDebugProto任务构建失败
Flutter构建barcode_scan2 proto文件缺失报错解决方案
错误表现
运行Flutter项目时触发Gradle构建失败,核心报错信息如下:
- 构建抛出异常:
FAILURE: Build failed with an exception. - 具体失败任务:
:barcode_scan2:generateDebugProto执行失败 - protoc日志提示:pub缓存路径下
barcode_scan2-4.2.1版本的protos目录不存在,无法找到android_configuration.proto文件 - 最终构建结果:耗时13s后构建失败,抛出异常
Gradle task assembleDebug failed with exit code 1
修复步骤
按优先级依次操作即可解决:
- 修复pub缓存路径空格问题
从报错路径看你的pub缓存存放在D:\Yeni klasor\路径下,路径包含空格,protoc工具对带空格路径解析存在已知兼容问题,会直接把空格前后的路径拆分为两段,最终判定文件不存在,这是该报错的最高发原因。
操作流程:- 新建一个无空格、无特殊字符的纯英文路径作为新的pub缓存目录,例如
D:\flutter\pub_cache - 新增系统环境变量
PUB_CACHE,变量值填写你新建的缓存目录路径,保存后重启IDE、终端确保环境变量生效 - 在项目根目录执行以下命令清理旧构建产物、重新拉取依赖:
执行完成后重新运行项目即可。flutter clean flutter pub get - 新建一个无空格、无特殊字符的纯英文路径作为新的pub缓存目录,例如
- 清理损坏的依赖缓存
如果调整路径后仍报错,说明本地缓存的barcode_scan2依赖包下载不完整、文件缺失:- 进入你配置的pub缓存目录,打开
hosted/pub.dartlang.org路径,找到barcode_scan2-4.2.1文件夹直接删除 - 回到项目根目录重新执行
flutter pub get拉取依赖,拉取完成后进入对应版本的barcode_scan2目录,确认protos文件夹存在、内部包含android_configuration.proto文件后,重新构建项目即可。
- 进入你配置的pub缓存目录,打开
- 替换兼容依赖版本
如果前两步操作后问题仍存在,说明4.2.1版本的barcode_scan2和你当前的Flutter、Gradle版本存在兼容问题,直接调整依赖版本:- 打开项目根目录下的
pubspec.yaml文件,将barcode_scan2的依赖版本调整为4.3.0及以上稳定版,也可以替换为社区持续维护的兼容分支版本 - 重新执行
flutter pub get后构建即可。
- 打开项目根目录下的
进阶排查
如果以上操作都未解决问题,构建时可以追加参数获取更详细的日志定位根因:
- 追加
--stacktrace参数运行,获取完整异常堆栈信息 - 追加
--info或--debug参数运行,获取全量构建日志 - 追加
--scan参数运行,生成完整构建分析报告
内容的提问来源于stack exchange,提问作者YsfKcr
相关产品推荐
相关产品推荐

