Пакет Flutter читает свои собственные активы - PullRequest
0 голосов
/ 29 мая 2019

У меня есть модуль с папкой 'assets', расположенной в том же каталоге, что и мой файл pubspec.yaml.В папке с активами у меня есть test.txt и simpleObject.json.

flutter:
  assets:
    - assets/test.txt
    - assets/simpleObject.json

Я считаю, что следующий код должен позволить мне прочитать его в моем приложении.

var test = await DefaultAssetBundle.of(context).loadString("assets/test.txt");

К сожалениюЯ получаю следующую ошибку:

[ОШИБКА: flutter / lib / ui / ui_dart_state.cc (148)] Необработанное исключение: невозможно загрузить ресурс: assets / test.txt

Ошибка происходит из asset_bundle.dart.Я должен предположить, что это моя вина, но согласно всему, что я прочитал, я делаю это правильно.Есть мысли?

Вот моя файловая структура, если это поможет.

MyModule
    |_assets/test.txt
    |_lib/
    |_pubspec.yaml

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

У меня есть решение.Несмотря на то, что мой пакет пытался загрузить свой собственный ресурс, он все равно должен был указать себя в качестве местоположения.

Вот как my_package загружает ресурс изображения (указывая пакет), использует его в виджете, и этовиджет легко используется внешними приложениями.

Image.asset(AssetImage("assets/splash.png").assetName, package: 'my_package',);
0 голосов
/ 07 июня 2019

Я столкнулся с этой проблемой и занял много времени, прежде чем она была решена.Решением было перейти на предыдущую версию (git checkout v1.5.4-hotfix.2)

...