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');
}
のように書くのが正解だ。
この変更に気づかず数時間ハマった。