Flutter项目中Image.asset加载图片失败问题求助
Flutter资源加载失败解决方案
问题详情
使用的代码片段
Padding( padding: const EdgeInsets.only(left: 80, right: 80), child: Image.asset('assets/images/logo.png'), ),
文件结构
图片实际存放路径为 lib/assets/images/logo.png
pubspec.yaml配置
assets: - lib/assets/images/ - lib/assets/images/logo.png
报错信息
════════ Exception caught by image resource service ════════════════════════════ The following assertion was thrown resolving an image codec: Unable to load asset: assets/images/logo.png. ...(省略中间栈信息) Image provider: AssetImage(bundle: null, name: "assets/images/logo.png") Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#3359f(), name: "assets/images/logo.png", scale: 1.0) ════════════════════════════════════════════════════════════════════════════════
解决步骤
修正代码中的资源路径
代码引用路径必须和pubspec.yaml配置的路径完全匹配,修改后代码如下:Padding( padding: const EdgeInsets.only(left: 80, right: 80), child: Image.asset('lib/assets/images/logo.png'), ),检查pubspec.yaml格式正确性
确保assets配置在flutter节点下,缩进符合YAML要求(通常为2个空格),正确格式示例:flutter: uses-material-design: true assets: - lib/assets/images/ - lib/assets/images/logo.png刷新资源并重启应用
执行命令flutter pub get刷新资源配置,然后完全重启应用(热重载可能不生效,需冷启动)。
内容的提问来源于stack exchange,提问作者user17281101
相关产品推荐
相关产品推荐

