Flutter资产错误:影像资源服务异常

时间:2018-10-04 10:36:15

标签: android visual-studio-code dart flutter

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'),
                        )
                    )
                ),

12 个答案:

答案 0 :(得分:4)

据我所知,目前仅将直接位于注册目录下的文件添加到资产中。

这应该有效:

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

答案 1 :(得分:3)

就我而言,我必须更正pubspec.yaml中的资产 uses-material-design 行之间的对齐方式。

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

答案 2 :(得分:0)

这就是我的解决方法。

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

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

然后我只尝试了父目录名,而这只是在使用:

assets:
 - assets/

Voila!它像魅力一样起作用!

我希望这对某人有帮助。

P.S。 -对于像我这样的新手:

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

答案 3 :(得分:0)

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

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

现在我由

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

以前,我将图像路径设置如下

"assets/images/SU.jpg"

然后我遇到此错误,因此我将其更改为以下内容

"images/SU.jpg"

然后它起作用了!

答案 6 :(得分:0)

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

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

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

答案 7 :(得分:0)

我的情况是,我处于热重载模式,什么也没发生。我必须点击热重启才能显示图像。

Hot Restart

答案 8 :(得分:0)

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

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

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

答案 9 :(得分:0)

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

答案 10 :(得分:0)

我遇到了同样的错误,缩进正确,错误在 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: ">=2.12.0 <3.0.0" dependencies: flutter: sdk: flutter dev_dependencies: flutter_test: sdk: flutter flutter: uses-material-design: true assets: - images/

答案 11 :(得分:-1)

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

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

解决方案将仿真器连接到互联网。