Flutter报错:无法加载asset资源car_android.png该如何解决?
解决方案
核心原因
你在pubspec.yaml中声明的资源目录为assets/images/,调用Image.asset时必须传入完整相对路径,不能仅填写文件名。
操作步骤
- 修改图片引用路径
将代码中的Image.asset("car_android.png")替换为:
Image.asset("assets/images/car_android.png")
- 确认
pubspec.yaml缩进合法性
YAML语法对缩进要求严格,assets节点需要在flutter节点下缩进2个空格,每个资源路径需要在assets节点下再缩进2个空格,正确配置示例如下:
flutter: uses-material-design: true assets: - assets/images/
- 校验文件名大小写
资源文件名的大小写必须和代码中引用的完全一致,Windows/macOS开发环境默认大小写不敏感,但是Android/iOS运行环境大小写敏感,拼写不一致会触发加载失败。 - 重新构建应用
修改完成后按顺序执行以下命令,避免缓存影响:
- 运行
flutter clean清理旧构建缓存 - 运行
flutter pub get重新识别资源配置 - 完全重启应用(不要使用热重载/热重启,热更新不会刷新资源注册逻辑)
可选配置(不推荐)
如果你希望直接使用文件名引用资源,可以在pubspec.yaml中单独声明每个资源文件:
flutter: uses-material-design: true assets: - assets/images/car_android.png
该方式仅适合资源数量极少的场景,资源较多时维护成本过高,更推荐使用完整路径引用的方案。
内容的提问来源于stack exchange,提问作者Riyad Zaigirdar
相关产品推荐
相关产品推荐

