颤振资产错误:图像资源服务捕获的异常

Posted

技术标签:

【中文标题】颤振资产错误:图像资源服务捕获的异常【英文标题】:Flutter assets error: EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE 【发布时间】:2019-03-09 17:19:35 【问题描述】:

flutter 找不到我的图片资源,我做错了什么?

我在调试器上收到错误:

在调试模式下在 XT1097 上启动 lib/main.dart... 构建 build/app/outputs/apk/debug/app-debug.apk。

I/flutter (  876): ══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞══
I/flutter (  876): Unable to load asset: assets/images/user/background.jpg
I/flutter (  876): "assets/images/user/background.jpg", scale: 1.0)

我的 pubspec.yml:

environment:
    sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
    sqflite: any
    path_provider: '>=0.3.0'
    charts_flutter: any
    cupertino_icons: ^0.1.2
    material_search: ^0.2.8
    dio: ^1.0.3
    flutter:
        sdk: flutter

dev_dependencies:
    flutter_test:
        sdk: flutter


flutter:
    uses-material-design: true
    assets:
        - assets/images/

和代码:

                new UserAccountsDrawerHeader(
                    decoration : BoxDecoration(
                        image: new DecorationImage(
                            image: AssetImage('assets/images/user/background.jpg'),
                            fit: BoxFit.cover
                        ),
                        color: Colors.blue,
                    ),
                    accountName: new Text('Diego Botelho'),
                    accountEmail: new Text('dibmartins@gmail.com'),
                    currentAccountPicture: new GestureDetector(
                        onTap: () => print('Toque na imagem'),
                        child: new CircleAvatar(
                            backgroundImage: AssetImage('assets/images/user/avatar.png'),
                        )
                    )
                ),

【问题讨论】:

【参考方案1】:

据我所知,目前只有直接放在注册目录下的文件才会添加到资产中。

这应该可行:

flutter:
  uses-material-design: true
  assets:
   - assets/images/
   - assets/images/user/

【讨论】:

【参考方案2】:

这就是我的解决方法。

以前我按照建议使用图像的确切路径

 assets:
 - assets/logo_linked_in.jpg
 - assets/logo_medium.png
 - assets/logo_***.png
 - assets/myself.jpg
 - assets/sparta.jpg
 - assets/fox.png

然后我只尝试了父目录名称,它只是使用:

assets:
 - assets/

瞧!它就像一个魅力!

我希望这对某人有所帮助。

附注- 对于像我这样的新手:

确保您已正确缩进 pubspec.yaml 因为这对构建非常重要。

【讨论】:

修补 pubspec.yaml 对齐似乎已经解决了我的问题。谢谢。【参考方案3】:

在我的情况下,我必须更正我的 assets 和 pubspec.yaml 中的 uses-material-design 行之间的对齐。

flutter:
    uses-material-desgin: true
    assets:
        - images/3.jpg

【讨论】:

【参考方案4】:

我有同样的错误。就我而言,这是因为我使用的手机模拟器无法访问互联网。

在物理移动设备上运行该应用程序并立即运行。

解决方案将模拟器连接到互联网。

【讨论】:

【参考方案5】:

在设备/模拟器上卸载应用 跑干净。 运行应用

【讨论】:

【参考方案6】:

在我的情况下,我在 _ 和 assets 之间有两个空格,这就是为什么会出现这个异常

-  assets/images/logo.png
-  assets/images/bg.jpg

现在我修复了

assets:
- assets/images/logo.png
- assets/images/bg.jpg

【讨论】:

【参考方案7】:

就我而言,当我使用像 Image.asset('./../images/welcome.png') 这样的相对路径时,它不起作用。

但如果我使用像 Image.asset('images/welcome.png') 这样的绝对路径,它就可以工作!

【讨论】:

【参考方案8】:

当我不小心将数字参数作为 URL 传递以从服务器获取图像时,我遇到了这个错误。

leading: CircleAvatar(
        backgroundImage: NetworkImage(imageUrl),
      ),

//imageUrl应该是正确的图片url而不是其他类型。

【讨论】:

【参考方案9】:

在我的情况下,我处于热重载模式并且什么都没有发生。我必须单击热重启才能显示图像。

【讨论】:

【参考方案10】:

如果网络应用没有从 Image.network(url) 加载图像,则在终端中执行以下操作:

    flutter config --enable-web // 现在重启你的编辑器 颤振构建网络 颤振创建。 颤动运行

来自https://flutter.dev/docs/get-started/web

【讨论】:

【参考方案11】:

我在正确缩进的情况下遇到了同样的错误,并且默认情况下,错误在 YMAL 文件中,删除该行后该行 publish_to: 'none' 。它开始正确输出图像read more: The pubspec file

name: ugandaclearfamilywillsuganda description: A New way of Creating your legal Wishes after death version: 1.0.0+1 environment: sdk: "&gt;=2.12.0 &lt;3.0.0" dependencies: flutter: sdk: flutter dev_dependencies: flutter_test: sdk: flutter flutter: uses-material-design: true assets: - images/

【讨论】:

【参考方案12】:

之前我将图像路径设置如下

"assets/images/SU.jpg"

然后我遇到了这个错误,所以我将其更改如下

"images/SU.jpg"

然后就成功了!!

【讨论】:

以上是关于颤振资产错误:图像资源服务捕获的异常的主要内容,如果未能解决你的问题,请参考以下文章

图像未在 Flutter 中加载

图像资源服务捕获的异常

图像资源服务捕获的异常 (handshake.cc:359)

小部件库捕获的异常,在颤振中抛出以下断言构建答案**错误**

如何在颤振小部件测试中捕获来自未来的错误?

未加载颤振图像(例外:解析图像编解码器)