web-dev-qa-db-ja.com

Flutterアセットエラー:IMAGE RESOURCE SERVICEによる例外の例外

flutterで画像アセットを見つけることができません。何が問題ですか?

デバッガでエラーが発生しました:

XT1097のlib/main.Dartをデバッグモードで起動しています... build/app/outputs/apk/debug/app-debug.apkをビルドしました。

I/flutter (  876): ══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞══
I/flutter (  876): Unable to load asset: assets/images/user/background.jpg
I/flutter (  876): "assets/images/user/background.jpg", scale: 1.0)

私のpubspec.yml:

environment:
    sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
    sqflite: any
    path_provider: '>=0.3.0'
    charts_flutter: any
    cupertino_icons: ^0.1.2
    material_search: ^0.2.8
    dio: ^1.0.3
    flutter:
        sdk: flutter

dev_dependencies:
    flutter_test:
        sdk: flutter


flutter:
    uses-material-design: true
    assets:
        - assets/images/

そしてコード:

                new UserAccountsDrawerHeader(
                    decoration : BoxDecoration(
                        image: new DecorationImage(
                            image: AssetImage('assets/images/user/background.jpg'),
                            fit: BoxFit.cover
                        ),
                        color: Colors.blue,
                    ),
                    accountName: new Text('Diego Botelho'),
                    accountEmail: new Text('[email protected]'),
                    currentAccountPicture: new GestureDetector(
                        onTap: () => print('Toque na imagem'),
                        child: new CircleAvatar(
                            backgroundImage: AssetImage('assets/images/user/avatar.png'),
                        )
                    )
                ),
5
Diego Botelho

私の知る限りでは、登録されたディレクトリの下に直接置かれたファイルのみがアセットに追加されます。

これはうまくいくはずです:

flutter:
  uses-material-design: true
  assets:
   - assets/images/
   - assets/images/user/
8

同じエラーが発生しました。私の場合、使用している電話のエミュレーターがインターネットにアクセスできないためです。

物理的なモバイルデバイスでアプリケーションを実行すると、すぐに動作しました。

解決策エミュレータをインターネットに接続します。

1
Natalia Peña

サーバーから画像を取得するために誤って数値パラメーターをURLとして渡したときに、このエラーに直面しました。

leading: CircleAvatar(
        backgroundImage: NetworkImage(imageUrl),
      ),

// imageUrlは他のタイプではなく正しい画像URLである必要があります。

0
Avijit Nagare

これが私にとってこれが解決した方法です。

以前は、推奨されるように画像への正確なパスを使用していました

 assets:
 - assets/logo_linked_in.jpg
 - assets/logo_medium.png
 - assets/logo_stackoverflow.png
 - assets/myself.jpg
 - assets/sparta.jpg
 - assets/fox.png

それから私はちょうど使用していた親ディレクトリ名だけを試しました:

assets:
 - assets/

出来上がり!それは魅力のように働きました!

これが誰かのお役に立てば幸いです。

追伸-私のような初心者向け:

pubspec.yamlは、ビルドにとって非常に重要であるため、正しくインデントしたことを確認してください。

0
sud007

私の場合、_とアセットの間に2つのスペースがあるため、この例外が発生します

-  assets/images/logo.png
-  assets/images/bg.jpg

今私は修正しました

assets:
- assets/images/logo.png
- assets/images/bg.jpg
0
Arun Prajapati

私の場合、そのようなImage.asset('./../images/welcome.png')のような相対パスを使用していましたが、機能しません。

しかし、そのような絶対パスを使用する場合、Image.asset('images/welcome.png')を使用すると機能します。

0
Robin

以前は次のように画像のパスを設定しました

"assets/images/SU.jpg"

次に、このエラーが発生したため、次のように変更しました

"images/SU.jpg"

その後、それはうまくいった!

0

私の場合、pubspec.yamlのassets行とses-material-design行の間の配置を修正する必要があります。

like this

0
Eliod