Flutter图片资源服务捕获异常:无法加载指定Asset图片求助
执行Flutter热重载并同步文件到Pixel 6设备后,出现图片资源加载异常,提示无法找到Asset:images/dice1.png,异常信息为Asset not found,调用栈如下:
#0 PlatformAssetBundle.loadBuffer (package:flutter/src/services/asset_bundle.dart:368:7) <asynchronous suspension> #1 AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:757:16) <asynchronous suspension> #2 MultiFrameImageStreamCompleter._handleCodecReady (package:flutter/src/painting/image_stream.dart:1013:3) <asynchronous suspension>
图片提供者:AssetImage(bundle: null, name: "images/dice1.png")
图片Key:AssetBundleImageKey(bundle: PlatformAssetBundle#e521c(), name: "images/dice1.png", scale: 1.0)
排查与解决步骤
验证pubspec.yaml资源配置
确保flutter节点下正确声明了图片资源,格式如下(注意缩进必须正确):flutter: assets: - images/ # 或单独指定该图片 - images/dice1.png检查
assets是否在flutter:下缩进2个空格,每条资源前的-后必须有空格。确认文件路径与文件名
检查项目根目录下是否存在images文件夹,且dice1.png确实在该目录中。注意文件名大小写必须和代码中的完全一致(Android/iOS平台对文件名大小写敏感)。重启应用而非仅热重载
新增或修改资源文件后,热重载无法更新资源缓存,此时需要执行**热重启(终端按R键)**或完全重启应用,确保资源被重新打包加载。清理缓存并重建项目
执行以下命令清理缓存后重新构建,解决资源打包异常:flutter clean flutter pub get flutter run检查代码中路径写法
确认代码中AssetImage的路径为images/dice1.png,避免多余斜杠(如./images/dice1.png)或拼写错误(如images/Dice1.png)。
内容的提问来源于stack exchange,提问作者md mahfuzul hoque

