【问题标题】: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'),
                        )
                    )
                ),

【问题讨论】:

    标签: android visual-studio-code dart flutter


    【解决方案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_stackoverflow.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) 加载图像,则在终端中执行以下操作:

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

                    来自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"
                        

                        然后就成功了!!

                        【讨论】:

                          猜你喜欢
                          • 2019-12-24
                          • 2021-08-17
                          • 2022-01-04
                          • 2021-11-24
                          • 1970-01-01
                          • 2022-10-04
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          相关资源
                          最近更新 更多