首页 > 解决方案 > 无法在 Flutter 项目中加载资产

问题描述

我对 Flutter 还很陌生,到目前为止,我发现一切都非常容易和愉快,但现在我被困在一些看起来非常简单的事情上——我似乎无法使用本地资产。

当我无法加载本地资产 mp3 文件时,我被困在 audioplayers 包的教程上,即使使用教程的代码也是如此。我会得到:FlutterError 无法加载资产:(assets/audio.mp3)。我检查了我的 pubspec.yaml,一切都正确且缩进正确。该文件肯定位于我的资产文件夹中它应该位于的位置。我很沮丧,并想我会做一个更简单的测试。我尝试运行图像小部件教程中的代码,指向资产文件夹中的 .png 文件。

import 'package:flutter/material.dart';

void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
 u /override
 Widget build(BuildContext context) {
 return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("Image from assets"),
        ),
        body: Image.asset('Capture.PNG'), //   <-- image
      ),
    );
  }
}

虽然它不会崩溃,但它只是不显示照片。我看到 AppBar 和灰色屏幕。该文件位于正确的位置(project_file > project_file > assets)

文件命名正确(Capture.PNG)

pubspec.yaml 指定照片:

flutter:
 assets:
    - assets/Capture.PNG

我尝试过冷重启模拟器,我在仿真之前运行了flutter clean和flutter pub get,我重新启动了我的计算机,我添加了另一个目录(/images)然后删除了它。我尝试使用 .jpg 而不是 .png 文件,但没有任何效果。我一直希望在某个地方找到人为错误,但我已经经历了很多次,这似乎不太可能。我似乎无法加载一张简单的照片,更不用说播放 mp3 了。

标签: flutter

解决方案


将其替换为:

Image.asset('assets/Capture.PNG')

推荐阅读