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

原文由 Diego Botelho 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 633
2 个回答

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

这应该有效:

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

原文由 Günter Zöchbauer 发布,翻译遵循 CC BY-SA 4.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/

瞧!它就像一个魅力!

我希望这可以帮助别人。

PS - 对于像我这样的新手:

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

原文由 sud007 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题