flutter加载本地图片异常

开发中使用

 Image.asset("assets/images/close.png") 

加载本地图片,结果异常:

======== Exception caught by image resource service ================================================
The following assertion was thrown resolving an image codec:
Unable to load asset: assets/images/close.png

When the exception was thrown, this was the stack: 
#0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:224:7)
<asynchronous suspension>
#1      AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:672:14)
<asynchronous suspension>
Image provider: AssetImage(bundle: null, name: "assets/images/close.png")
Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#97ce7(), name: "assets/images/close.png", scale: 1.0)
====================================================================================================

解决办法:

Image.asset('assets/images/close.png', package: '你的模块名')

从以下几点排除:

1、检查工程的assets-images文件夹下是否有你的图片

2、检查yaml文件,是否声明了图片,如:

flutter:
  assets:
    - assets/images/close.png

注意缩进,否则异常

3、我这次遇到的问题,Image.asset需要指定包名,我因为多个模块依赖,其他模块也有本地图片的加载,所以在当前模块加载本地图片需要指定模块包名,这点网上大家一般都没人碰到提到,记录一下。


版权声明:本文为u011228060原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。