资产 assets/appimage/test.png 在 pubspec.yaml 中不存在警告

Son*_*pta 0 image exception dart flutter

请找到以下代码 main.dart:

class MyHomePage extends StatelessWidget {
   MyHomePage({Key key, this.title}) : super(key: key); 
   final String title; 

   @override 
   Widget build(BuildContext context) {
      return Scaffold( 
         appBar: AppBar( title: Text(this.title), ), 
         body: Center( child: Image.asset("assets/smiley.png")),
      ); 
   }
}
Run Code Online (Sandbox Code Playgroud)

pubspec.yaml

name: product_app
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:

  uses-material-design: true

  assets:
    - assets/appimages/floppy.png
    - assets/appimages/iphone.png
    - assets/appimages/laptop.png
    - assets/appimages/pendrive.png
    - assets/appimages/pixel.png
    - assets/appimages/tablet.png
Run Code Online (Sandbox Code Playgroud)

执行前;pubspec.yaml 中的资产assets/appimage/test.png 不存在警告执行以下代码后异常来了

??? EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ???
I/flutter ( 8653): The following assertion was thrown while resolving an image:
    I/flutter ( 8653): Unable to load asset: AssetManifest.json
    I/flutter ( 8653): When the exception was thrown, this was the stack:
    I/flutter ( 8653): #0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)
    I/flutter ( 8653): <asynchronous suspension>
    I/flutter ( 8653): #1      AssetBundle.loadString (package:flutter/src/services/asset_bundle.dart:67:33)
    I/flutter ( 8653): #2      CachingAssetBundle.loadString (package:flutter/src/services/asset_bundle.dart:163:18)
    I/flutter ( 8653): #3      CachingAssetBundle.loadStructuredData (package:flutter/src/services/asset_bundle.dart:184:5)
    I/flutter ( 8653): #4      AssetImage.obtainKey (package:flutter/src/painting/image_resolution.dart:174:18)
    I/flutter ( 8653): #5      ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:318:15)
    I/flutter ( 8653): #9      ImageProvider.resolve (package:flutter/src/painting/image_provider.dart:315:16)
    I/flutter ( 8653): #10     _ImageState._resolveImage (package:flutter/src/widgets/image.dart:1010:20)
    I/flutter ( 8653): #11     _ImageState.didChangeDependencies (package:flutter/src/widgets/image.dart:967:5)
    I/flutter ( 8653): #12     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4376:12)
    I/flutter ( 8653): #13     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
    I/flutter ( 8653): #14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
Run Code Online (Sandbox Code Playgroud)

A R*_*A R 8

您可以简单地在您的pubspec.yaml文件中定义,如下所示,不需要定义您的文件中的所有图像.yaml file

assets:
- assets/appimages/    (it will include all images in your appimages folder)
Run Code Online (Sandbox Code Playgroud)

**

class MyHomePage extends StatelessWidget {
   MyHomePage({Key key, this.title}) : super(key: key); 
   final String title; 

   @override 
   Widget build(BuildContext context) {
      return Scaffold( 
         appBar: AppBar( title: Text(this.title), ), 
         body: Center( child: Image.asset("assets/appimages/iphone.png")),
      ); 
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 我确实输入了相同的内容,但它仍然是消息不存在 (3认同)

Ibr*_*yas 6

我的朋友 .. 将你的资产文件夹移出 lib 文件夹 >> 它是一个基于项目的文件夹