Flutter插件无法加载最高负载的资产

时间:2019-02-27 13:55:09

标签: flutter

我正在开发一个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

1 个答案:

答案 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,以获取有关更新的通知。