Flutter报Unable to load asset错误,已配置pubspec.yaml资源路径如何解决?
Flutter 资源加载失败排查方案
可按照以下顺序逐一排查问题:
- 检查
pubspec.yaml缩进规则:Flutter对YAML格式的缩进要求极为严格,assets节点必须和同级的uses-material-design保持相同缩进(通常为2个空格),下方的资源路径要比assets节点多缩进2个空格,禁止使用Tab缩进,必须用空格。 - 核对实际文件路径与配置的一致性:检查项目根目录下是否真实存在
assets/images/waiting.png文件,路径大小写必须完全匹配,Windows/macOS开发环境大小写不敏感不会报错,但打包后在Linux/Android等大小写敏感的环境会加载失败。 - 清理缓存重新拉取依赖:执行
flutter clean命令清除本地构建缓存,再执行flutter pub get重新读取资源配置,之后重新运行项目即可。 - 检查代码中资源引用路径是否正确:调用
AssetImage或者Image.asset时,传入的路径必须和pubspec.yaml中配置的路径完全一致,不要在路径开头添加额外的斜杠,比如错误写法/assets/images/waiting.png是无效的。 - 多倍率资源配置校验:如果你的等待图放在多倍率子目录下(比如
assets/images/2.0x/waiting.png、assets/images/3.0x/waiting.png),不需要在pubspec.yaml中配置对应倍率子目录下的文件路径,只需要配置通用路径- assets/images/waiting.png即可。 - 检查是否存在重复的
flutter配置节点:如果pubspec.yaml中有两个flutter根节点,后配置的内容会覆盖前面的配置,导致资源配置不生效。
内容的提问来源于stack exchange,提问作者Ahsan Habib Swassow
相关产品推荐
相关产品推荐

