微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解析图像时抛出以下断言:无法加载资产:AssetManifest.json

如何解决解析图像时抛出以下断言:无法加载资产:AssetManifest.json

因此,我制作了一个使用图像资源的 pub.dev flutter package

class GoogleIcon extends StatelessWidget {
  final bool isEnabled;

  const GoogleIcon({
    Key key = const Key('google-icon'),this.isEnabled = true,}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: isEnabled ? 1 : 0.5,child: Image.asset(
        'assets/google.png',key: Key('google-icon-image'),package: 'arculus_auth_widgets',),);
  }
}

在该库中,每个小部件测试都按预期运行。但是当我尝试在我的其他包(取决于它)的测试中使用该小部件时:

  testWidgets('should show buttons at the bottom',(tester) async {
    await tester.pumpWidget(
      MaterialApp(
        home: Scaffold(
          body: ArculusOnboardingBody(
            buttons: [
              ArculusGoogleButton(label: 'Continue with Google'),// This widget contains GoogleIcon in it
            ],);

    await tester.pumpAndSettle(Duration(milliseconds: 100));
  });

失败了

==╡ 图像资源服务捕获的异常 ╞================================================ === 以下 解析图像时抛出断言:无法加载资产: AssetManifest.json

当抛出异常时,这是堆栈: #0 PlatformAssetBundle.load (package:Flutter/src/services/asset_bundle.dart:225:7) #1 AssetBundle.loadString (package:Flutter/src/services/asset_bundle.dart:68:33) #2 CachingAssetBundle.loadString (package:Flutter/src/services/asset_bundle.dart:167:18) #3 CachingAssetBundle.loadStructuredData (package:Flutter/src/services/asset_bundle.dart:188:5) #4 Assetimage.obtainKey (package:Flutter/src/painting/image_resolution.dart:176:18) #5 ScrollAwareImageProvider.obtainKey (package:Flutter/src/widgets/scroll_aware_image_provider.dart:115:74) #6 ImageProvider._createErrorHandlerAndKey。 (包:Flutter/src/painting/image_provider.dart:455:15) #10 ImageProvider._createErrorHandlerAndKey (package:Flutter/src/painting/image_provider.dart:452:16) #11 ImageProvider.resolve (package:Flutter/src/painting/image_provider.dart:330:5) #12 _ImageState._resolveImage (package:Flutter/src/widgets/image.dart:1156:16) #13 _ImageState.didChangeDependencies (package:Flutter/src/widgets/image.dart:1109:5) #14 StatefulElement._firstBuild (package:Flutter/src/widgets/framework.dart:4786:12) #15 ComponentElement.mount (package:Flutter/src/widgets/framework.dart:4601:5) ... 正常 元件安装(16 帧) #31 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14) #32 MultiChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6236:32) ...正常 元件安装(223 帧) #255 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14) #256 MultiChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6236:32) ...正常 元件安装(37 帧) #293 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14) #294 MultiChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6236:32) ...正常 元件安装(202 帧) #496 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14) #497 MultiChildRenderObjectElement.mount (package:Flutter/src/widgets/framework.dart:6236:32) ...正常 元件安装(267 帧) #764 Element.inflateWidget (package:Flutter/src/widgets/framework.dart:3569:14) #765 Element.updateChild (package:Flutter/src/widgets/framework.dart:3324:20) #766 RenderObjectToWidgetElement._rebuild(包:Flutter/src/widgets/binding.dart:1252:16) #767 RenderObjectToWidgetElement.update (package:Flutter/src/widgets/binding.dart:1230:5) #768 RenderObjectToWidgetElement.performRebuild(包:Flutter/src/widgets/binding.dart:1244:7) #769 Element.rebuild (package:Flutter/src/widgets/framework.dart:4343:5) #770 BuildOwner.buildScope (package:Flutter/src/widgets/framework.dart:2730:33) #771 AutomatedTestWidgetsFlutterBinding.drawFrame (package:Flutter_test/src/binding.dart:1088:18) #772 RendererBinding._handlePersistentFrameCallback (package:Flutter/src/rendering/binding.dart:302:5) #773 SchedulerBinding._invokeFrameCallback (package:Flutter/src/scheduler/binding.dart:1117:15) #774 SchedulerBinding.handleDrawFrame (package:Flutter/src/scheduler/binding.dart:1055:9) #775 AutomatedTestWidgetsFlutterBinding.pump。 (包:Flutter_test/src/binding.dart:961:9) #778 TestAsyncUtils.guard (package:Flutter_test/src/test_async_utils.dart:72:41) #779 AutomatedTestWidgetsFlutterBinding.pump (package:Flutter_test/src/binding.dart:948:27) #780 WidgetTester.pumpWidget。 (包:Flutter_test/src/widget_tester.dart:524:22) #783 TestAsyncUtils.guard (package:Flutter_test/src/test_async_utils.dart:72:41) #784 WidgetTester.pumpWidget(包:Flutter_test/src/widget_tester.dart:521:27) 第785章 主力。 (file:///Users/moseskarunia/Projects/arculus/test/src/widgets/arculus_onboarding_body_test.dart:67:18) 第786章 主力。 (file:///Users/moseskarunia/Projects/arculus/test/src/widgets/arculus_onboarding_body_test.dart:66:52) #787 testWidgets..(包:Flutter_test/src/widget_tester.dart:146:29) #798 FakeAsync.flushMicrotasks (package:fake_async/fake_async.dart:193:32) #799 AutomatedTestWidgetsFlutterBinding.runTest。 (包:Flutter_test/src/binding.dart:1189:17) #800 AutomatedTestWidgetsFlutterBinding.runTest。 (package:Flutter_test/src/binding.dart:1177:35) (从 dart:async 和 package:stack_trace)

图片提供者:ScrollAwareImageProvider() 图片 配置:ImageConfiguration(bundle: PlatformAssetBundle#2377c(),devicePixelRatio: 3.0,locale: en_US,textDirection: TextDirection.ltr,平台:android) ================================================= ================================================= 测试失败。请参阅上面的异常日志。测试描述是: 应该在底部显示按钮

✖ 应该在底部显示按钮退出 (1)

你知道我哪里做错了吗?它在实际运行中表现正确(在测试之外)

谢谢。

这是我的Flutter doctor -v

[✓] Flutter (Channel stable,1.22.6,on macOS 11.1 20C69 darwin-x64,语言环境en-ID) • Flutter 1.22.6 版,位于 /Users/moseskarunia/Development/Flutter • 框架修订版 9b2d32b605(5 天前),2021-01-22 14:36:39 -0800 • 引擎修订版 2f0af37152 • Dart 版本 2.10.5

[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.2) • Android SDK 位于 /Users/moseskarunia/Development/Android/sdk • 平台 android-29,构建工具 29.0.2 • ANDROID_HOME = /Users/moseskarunia/Development/Android/sdk • Java 二进制文件位于:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java 版 OpenJDK 运行时环境(构建 1.8.0_242-release-1644-b3-6915495) • 接受所有 Android 许可。

[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 12.4) • Xcode 位于 /Applications/Xcode.app/Contents/Developer • Xcode 12.4,构建版本 12D4e • CocoaPods 1.10.1 版

[!] Android Studio(4.1 版) • Android Studio 位于 /Applications/Android Studio.app/Contents ✗ 未安装 Flutter 插件;这增加Flutter 特定的功能。 ✗ 未安装 Dart 插件;这增加了 Dart 特定的功能。 • Java 版 OpenJDK 运行时环境(构建 1.8.0_242-release-1644-b3-6915495)

[✓] VS 代码(版本 1.52.1) • VS Code 位于 /Applications/Visual Studio Code.app/Contents • Flutter 扩展版本 3.18.1

[!] 连接的设备 !没有可用的设备

!医生发现了 2 类问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。