You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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)
════════════════════════════════════════════════════════════════════════════════

解决步骤

  1. 修正代码中的资源路径
    代码引用路径必须和pubspec.yaml配置的路径完全匹配,修改后代码如下:

    Padding(
      padding: const EdgeInsets.only(left: 80, right: 80),
      child: Image.asset('lib/assets/images/logo.png'),
    ),
    
  2. 检查pubspec.yaml格式正确性
    确保assets配置在flutter节点下,缩进符合YAML要求(通常为2个空格),正确格式示例:

    flutter:
      uses-material-design: true
      assets:
        - lib/assets/images/
        - lib/assets/images/logo.png
    
  3. 刷新资源并重启应用
    执行命令 flutter pub get 刷新资源配置,然后完全重启应用(热重载可能不生效,需冷启动)。

内容的提问来源于stack exchange,提问作者user17281101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 01:05:19