我正在开发一个flutter插件,使用该插件时出现Unable to load asset
错误。使用插件时我需要做一些特别的事情吗?
在主应用程序中加载图像没有问题。
来自pubspec.yaml:
flutter:
# To add assets to your plugin package, add an assets section, like this:
assets:
- icons/
- icons/myimage.png # << Just to show, that this also is not not working
uses-material-design: true
plugin:
...
也尝试过:
-使用TAB等来回移动
-将文件夹重命名为资产
使用图像文件夹资产:
Image.asset('icons/myimage.png', height: 12.0),
我收到此错误:
flutter: ══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════
flutter: The following assertion was thrown resolving an image codec:
flutter: Unable to load asset: icons/myimage.png
答案 0 :(得分:1)
要从非应用程序包加载资产,您需要将package
参数传递给加载资产的方法,如
Image.asset('icons/myimage.png', package: 'my_package', height: 12.0),
另请参阅docs.flutter.io/flutter/widgets/Image/Image.asset.html
要能够使用依赖项(插件或普通Dart程序包)中的资产,请遵循https://flutter.dev/docs/development/ui/assets-and-images#bundling-of-package-assets
在依赖项中,所有文件都必须位于lib/
内部,因为只有这些文件可供包用户使用。
pubspec.yaml
中的资产路径必须以packages/package_name/some_folder_inside_lib
开头
flutter
assets:
- packages/my_package/some_folder_inside_lib/my_image.png
当前存在另一个限制,与列出文件夹就足够的应用程序项目中的资产相反,所有资产文件都需要在pubspec.yaml
中单独列出。
上载并订阅https://github.com/flutter/flutter/issues/22944,以获取有关更新的通知。