Flutter asset图片未更新、pubspec配置后提示资源不存在如何解决?
Flutter assets图片加载报错修复方案
- 第一步:校验项目目录结构
确认项目根目录下存在与配置路径完全匹配的images文件夹,资源文件存放在该文件夹内,注意Flutter路径识别区分大小写,Images和images会被判定为不同路径;资源文件夹不能放在lib目录下,需和lib、pubspec.yaml同层级,正确结构参考:项目根目录 ├── android ├── ios ├── lib ├── images │ ├── example1.png │ └── example2.jpg └── pubspec.yaml - 第二步:修正pubspec.yaml配置格式
资源配置必须归属于flutter节点下,严格遵守yaml缩进规则:assets前保留2个空格,每个资源路径前保留4个空格,禁止使用tab缩进。
引入整个images文件夹的正确写法:flutter: assets: - images/注意路径末尾的斜杠不可省略,否则会被识别为单个文件而非文件夹。
若单独引入单个图片,需填写完整路径,如- images/example1.png,路径必须和实际文件路径完全一致。 - 第三步:执行缓存清理与配置重载
配置修改保存后,先在项目根目录执行flutter clean清理本地缓存,再执行flutter pub get重新加载资源配置。如果项目处于运行状态,需完全停止后重新启动调试,热重载/热重启不会更新assets配置。 - 第四步:排查特殊场景异常
Windows系统需先关闭文件扩展名隐藏设置,避免出现实际文件名为example.png.png但配置路径写为example.png的不匹配问题;同时检查pubspec.yaml全局是否存在其他语法错误,yaml格式对缩进、符号的要求极高,任意小错误都会导致资源加载失败。
内容的提问来源于stack exchange,提问作者Steven
相关产品推荐
相关产品推荐

