FlutterのAssetファイルディレクトリ指定方法が変わった

投稿者: | 2024年7月27日

Flutter公式ドキュメントにはアセットとしてイメージファイルを置く場合、

flutter:
  assets:
    - assets/my_icon.png
    - assets/background.png

のように書いてある。

番う側でも

import 'package:flutter/services.dart' show rootBundle;

Future loadAsset() async {
  return await rootBundle.loadString('assets/config.json');
}

のように書く。

しかし現在(Flutter 3.22.2)ではいずれもlib/をつけないとダメなようである。

つまり

flutter:
  assets:
    - lib/assets/my_icon.png
    - lib/assets/background.png

のように書いて、使う側でも

import 'package:flutter/services.dart' show rootBundle;

Future loadAsset() async {
  return await rootBundle.loadString('lib/assets/config.json');
}

のように書くのが正解だ。

この変更に気づかず数時間ハマった。

コメントを残す