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

Flutter加载Asset图片报错:无法找到指定资源的问题咨询

Flutter Asset图片加载失败(未找到资源)解决方案

问题现象

图片资源服务捕获到异常
解析图片编解码器时抛出以下断言:
无法加载资源:"dice-six-faces-one.png"。
异常:未找到资源
抛出异常时的调用栈:
#0 PlatformAssetBundle.loadBuffer (package:flutter/src/services/asset_bundle.dart:369:7)

排查解决步骤

  • 校验pubspec.yaml的资源配置
    确保flutter节点下正确声明了assets路径,yaml语法严格注意缩进(用空格,别用tab):

    flutter:
      assets:
        - assets/dice-six-faces-one.png
        # 若需加载整个目录下的资源,可写:- assets/
    

    注意assets是flutter的子节点,每个资源项前的-要和父节点对齐。

  • 核对文件实际路径与名称

    • 确认图片文件确实存在于项目对应路径中,比如配置的是assets/dice-six-faces-one.png,则项目根目录必须有assets文件夹,且内部包含该图片。
    • 文件名大小写完全匹配:iOS、macOS等平台对文件名大小写敏感,Dice-Six-Faces-One.png和dice-six-faces-one.png会被识别为不同文件。
  • 执行flutter pub get更新资源索引
    修改pubspec.yaml后必须运行flutter pub get,让Flutter重新扫描并注册资源文件,这一步很容易遗漏。

  • 清理缓存并重启项目
    若上述步骤无效,尝试清理缓存解决资源缓存问题:

    1. 运行flutter clean清理项目缓存
    2. 重新执行flutter pub get
    3. 重启IDE和模拟器/真机,避免旧缓存干扰。
  • 检查代码中的加载路径
    确保加载图片时的路径与pubspec配置完全一致,示例代码:

    Image.asset('assets/dice-six-faces-one.png')
    

    路径层级不能多写或少写,比如直接写dice-six-faces-one.png或错误层级assets/images/dice-six-faces-one.png都会导致资源找不到。

内容的提问来源于stack exchange,提问作者H Anas Khalil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:12:48