这是我的应用程序的文件夹 struct

.idea
.vscode
android
build
fonts
 Oxygen-Bold.tff
 Oxygen-Light.tff
 Oxygen-Regular.tff
images
 pizza0.png
 pizza1.png
ios
lib
 ui
  home.dart
 main.dart
test
.gitignore
.metadata
.packages
app_widgets.iml
pubspec.lock
pubspec.yaml
README.md

在我的pubspec.yaml文件中,我像这样加载字体和资源

flutter:

uses-material-design: true

assets:
  - images/pizza0.png
  - images/pizza1.png

fonts:
  - family: Oxygen
    fonts:
      - asset: fonts/Oxygen-Regular.ttf
      - asset: fonts/Oxygen-Bold.ttf
        weight: 700
      - asset: fonts/Oxygen-Light.ttf
        weight: 300

我没有收到这pubspec.yaml的任何错误,并且运行flutter packages get给出的退出代码为0.

在我的家里,dart 我有以下课程:

class PizzaImageWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    AssetImage pizzaAsset = AssetImage('images/pizza0.png');
    Image image = Image(image: pizzaAsset, width: 400, height: 400);
    return Container(
      child: image,
    );
  }
}

我在其他地方使用它,以便显示图像(省略了代码):

        ),
        PizzaImageWidget(),
      ],

这座大楼没有错误.Flutter doctor -v没有给出任何错误,Flutter 也没有分析-v.apk似乎构建得很好,但当应用程序在我的手机上打开时,我在asset_bundle中发现以下错误.投掷:

发生异常.FlutterError(无法加载assets资源 : 图像/Pizza0.png)

该错误由此类在ASSET_bundle.dart文件中抛出:

/// An [AssetBundle] that loads resources using platform messages.
class PlatformAssetBundle extends CachingAssetBundle {
  @override
  Future<ByteData> load(String key) async {
    final Uint8List encoded = utf8.encoder.convert(Uri(path: Uri.encodeFull(key)).path);
    final ByteData asset =
        await BinaryMessages.send('flutter/assets', encoded.buffer.asByteData());
    if (asset == null)
      throw FlutterError('Unable to load asset: $key');
    return asset;
  }
}

这种情况既发生在picza0.png文件中,也发生在picza1.png文件中.这些文件在树 struct 中可见,与在VS代码中一样,都在Windows资源管理器中可见.字体资源加载时没有问题.

这是我在运行Flutter Run-v时得到的输出:

[+1068毫秒]I/Flutter (6489):══╡ 图像资源捕获到异常

推荐答案

你应该考虑assets的缩进.

flutter:

  assets:
    - images/pizza1.png
    - images/pizza0.png

更多详细信息:

flutter:

[2 whitespaces or 1 tab]assets:
[4 whitespaces or 2 tabs]- images/pizza1.png
[4 whitespaces or 2 tabs]- images/pizza0.png

Flutter相关问答推荐

当第二页在单独的小工具中使用Navigator.pop时,Navigator.push不起作用

Firebase Auth异常未被catch捕获

未处理异常:字符串类型不是值类型子类型的子类型'

自动测试Flutter应用程序进行QA的最佳方法是什么?

无法在主屏幕视图中设置当前日期容器'

手势捕获的异常:类型';Double';不是类型转换中类型';Double';的子类型

本机调试符号包含无效的目录调试符号.目前仅支持Android ABI

Flutter 应用程序中的Firebase实时数据库中的orderByChild()不适用于我

就像Flutter 中的头文件一样?

Flutter GestureDetector单击问题-堆叠外面的按钮不可点击

Flutter卡内容未在水平列表视图中居中

在 Flutter 中使用条件语句设置 ImageProvider Object 类型的背景图像

如何使自动焦点位于已经有一些文本的 TextField 的第一行?

找不到任何与 com.google.firebase:firebase-sessions:[15.0.0, 16.0.0) 匹配的版本

使用 Flutter 和 Dio 将图像上传到 API

Container 的 Flutter 背景图片不会出现

如何从另一个页面访问 Firebase 值?

如何在 flutter 中同时使用 ButtonStyle() 和 ElevatedButton.styleFrom() ?

如何防止卡子在底部溢出?

Flutter - 检测手指何时进入容器