颤振资产错误:图像资源服务捕获的异常
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: ">=2.12.0 <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"
然后就成功了!!
【讨论】:
以上是关于颤振资产错误:图像资源服务捕获的异常的主要内容,如果未能解决你的问题,请参考以下文章
图像资源服务捕获的异常 (handshake.cc:359)