У меня есть родительский проект, который использует внутри себя другой проект, например плагин, вот так:
messaging:
git:
url: https://github.com/....
В подпроекте некоторые ресурсы работают нормально, когда я запускаю подпроект. Активы добавляются в подпроекты обычно следующим образом:
- assets/icons
- lib
когда я запускаю родительский проект и показываю в нем виджет из подпроекта со значком актива, я получаю эту ошибку:
The asset does not exist or has empty data.
Что ж, комментарий ниже и принятый ответ были очень полезны, если у кого-то возникла проблема, например эта stackoverflow.com/questions/54740732/… тоже может быть полезна.





Вы можете добавить к пути к активу имя пакета следующим образом:
packages/messaging/assets/...
В некоторых случаях вам может потребоваться использовать rootBundle для загрузки ресурсов.
Этот ответ может помочь вам:
Невозможно найти актив, когда Flame Game используется в качестве зависимости
Является ли зависимый проект плагином? (Если да, то у него есть пример приложения.) Когда вы говорите, что они работают нормально в зависимом проекте, вы имеете в виду его пример приложения? Помните, что плагин имеет два набора всего (lib, assets, pubspec и т. д.) в бите плагина, а бит примера, на который вы ссылаетесь выше, требует гораздо большей детализации. Как в примере приложения вы ссылаетесь на активы (где это работает) — приведите примеры. Внимательно следуйте инструкциям здесь: docs.flutter.dev/ui/assets/assets-and-images#from-packages