颤振-图像资源服务捕获的异常



我刚刚开始学习扑动/Dart,我被困在一个错误。

我有这个:

  • dart.main
import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: Scaffold(
backgroundColor: Colors.blueGrey,
appBar: AppBar(
title: Text(
'I am Rich',
),
backgroundColor: Colors.blueGrey[900]),
body: Center(
child: Image.asset('assets/images/diamond.png'),
),
),
),
);
}
  • pubspec.yaml
flutter:
uses-material-design: true
assets:
- assets/images/diamond.png

,在我的根目录我有:

文件结构当我运行程序时,我得到了这个错误:

I/flutter (25995): ══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════
I/flutter (25995): The following assertion was thrown resolving an image codec:
I/flutter (25995): Unable to load asset: assets/images/diamond.png
I/flutter (25995):
I/flutter (25995): When the exception was thrown, this was the stack:
I/flutter (25995): #0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:225:7)
I/flutter (25995): <asynchronous suspension>
I/flutter (25995): #1      AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:668:31)
I/flutter (25995): #2      AssetBundleImageProvider.load (package:flutter/src/painting/image_provider.dart:651:14)
I/flutter (25995): #3      ImageProvider.resolveStreamForKey.<anonymous closure> (package:flutter/src/painting/image_provider.dart:504:13)
I/flutter (25995): #4      ImageCache.putIfAbsent (package:flutter/src/painting/image_cache.dart:355:22)
I/flutter (25995): #5      ImageProvider.resolveStreamForKey (package:flutter/src/painting/image_provider.dart:502:83)
I/flutter (25995): #6      ScrollAwareImageProvider.resolveStreamForKey (package:flutter/src/widgets/scroll_aware_image_provider.dart:108:19)
I/flutter (25995): #7      ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:333:9)
I/flutter (25995): #8      ImageProvider._createErrorHandlerAndKey.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:463:26)
I/flutter (25995): (elided 13 frames from dart:async)
I/flutter (25995):
I/flutter (25995): Image provider: AssetImage(bundle: null, name: "assets/images/diamond.png")
I/flutter (25995): Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#25fdf(), name:
I/flutter (25995):   "assets/images/diamond.png", scale: 1.0)
I/flutter (25995): ════════════════════════════════════════════════════════════════════════════════════════════════════

有什么建议吗?

我建议您在pubspec中添加图像的完整路径。在本例中为:assets/images/diamong.png

我在我的项目中就这样做过,效果很好。

另一件要检查的事情是,如果您的assets目录位于与/lib相同的级别(如果它们是兄弟姐妹),如果不是,您应该将其移动到相同的级别。

您的assets/images/diamond .png和您拥有的根图片存在拼写错误。我假设。png应该是diamond。png

1。确保在assets>images文件夹中有一个diamond .png图像扩展名相同,即。png

2。如果您的映像路径是正确的,请尝试终止&重新启动应用程序.

注意:不要热加载。你必须重新启动应用程序才能看到更改。

打开你的终端,写

flutter pub get 

然后运行代码

如果It不工作,那么运行:

flutter clean

然后再次运行。我希望它能解决你的问题

我通过在模拟器中卸载应用程序然后卸载shutter cleanshutter run来修复它,并且它工作了。

工作谢谢大家的帮助!!

相关内容

最新更新