Flutter3.7更新時: No file or variants found for assetのエラー

※当サイトは、アフィリエイト広告を利用しています

結論:プロジェクトフォルダ直下のフォルダ名からパスを記載する

2023/2/9 Flutter エラー・バグ日記

 

とても恥ずかしいレベルのエラーだったが、忘れないように記録。

 

Flutter SDKを3.3.4から3.7.1にアップグレード後、プロジェクトをビルドしたら以下のエラーが発生。

 

Error detected in pubspec.yaml:
No file or variants found for asset: sample_image.png.
Target debug_android_application failed: Exception: Failed to bundle asset files.

 

どうやらアセット登録していた画像ファイルが見つからないらしい。

 

今までは問題なく読み込めていたのだが。。

 

本記事はライトな日記思考で書いているので、詳細説明はしておらず、基本、テキストのみで画像とかはあまり載せておりません。。m(_ _)m

解説記事ではないため、解決していない内容や、その時々の間違った解釈を述べてしまっている可能性が大いにありますので、何卒、ご了承ください。

 

公式サイトにきちんと説明があった

プロジェクトフォルダ直下に、「assets」というフォルダを作成し、その中に画像ファイル(sample_image.png)を保存していた。

 

また、「pubspec.yaml」には、下記のように記載していた。

 

  assets:
    - sample_image.png

 

しかし、Flutter公式サイト

 

 

を見ると、どうやらフォルダ名(この例では「assets」)から記載しないと駄目らしい。。

  

今までエラーが出なかったのが不思議だが、、確かに、下記のとおり書き直したら、問題なくエラーは解消された。

 

  assets:
    - assets/sample_image.png

 

恥ずかしながら今ごろ知る。。

 

今更の復習になるが、「assets/sample_image.png」の部分の「assets」は、あくまで自分が付けたフォルダ名であり、例えば「documents」というフォルダ名にした場合は、「documents/sample_image.png」とする必要がある。

 

一方、「assets:」の方は、「pubspec.yaml」ファイルで、アセット登録のために決められた表記なので、フォルダ名に関係なく「assets:」とする必要がある。

 

GitHubにも同じイシューがあった

イシューと呼んで良いのか分からないレベルだが、自分と全く同じ相談が上がっていた。

 

 

Flutter3.7.0にしたら、「フォルダ名/」が無いとエラーになったとのこと。

 

  • なぜ今までエラーにならなかったのか?
  • 仕様が変わったなら説明する必要がある

 

などのコメントがされているが、、、公式サイトに「フォルダ名/」が必要と書かれているので、仕方がない気がする。。

 

Flutter SDKをダウングレードして再検証していないので分からないが、今までは、フォルダ名を「assets」とした場合は、自動的にアセット用フォルダと判断してくれていたのだろうか。。

 

フォルダ内全体を対象とする場合

ちなみに、よくある間違いとして、アセット用フォルダ内を一括で指定したいときに、末尾に「/」が必要なのに、付け忘れるケースがあるとのこと。

 

こちらの記事で説明くださっていた。

 

 

よく見ると、先の公式サイトにも

 

To include all assets under a directory, specify the directory name with the / character at the end:
ディレクトリの下にすべてのアセットを含めるには、末尾に / 文字を付けてディレクトリ名を指定します。(Google翻訳)

 

と説明されていた。

 

「pubspec.yaml」の書き方は、しばらく復習していなかったので、良い機会になった。。

 

\一般的なエラー対処法をまとめた記事はこちら/

 

リリースしたアプリ(全てFlutterで開発)

 

個人アプリ開発で役立ったもの

おすすめの学習教材

超初心者向けでオススメな元Udemyの講座/

 

 \キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/

 

\Gitの基礎について無料で学べる/

 

おすすめの学習書籍

実用的image_pickerに関してかなり助けられた/

 

Dartの基礎文法を素早くインプットできる/


Dart入門 - Dartの要点をつかむためのクイックツアー

タイトルとURLをコピーしました