You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter本地自定义package无法加载资源图片问题求助

解决Flutter本地自定义包加载图片资源的问题

核心原因

本地自定义包的资源属于独立的AssetBundle,主项目默认只会读取自身的资源 bundle,必须显式指定包名才能加载包内的资源。

1. 加载PNG图片的修正方法

修改Image.asset代码,添加package参数指定你的包名package1:

SizedBox(
  width: 30,
  height: 30,
  child: Image.asset("assets/icons/brightness.png", package: 'package1'),
),

2. 加载SVG图片(flutter_svg)的修正方法

同样需要在SvgPicture.asset中指定package参数:

SizedBox(
  width: 30,
  height: 30,
  child: SvgPicture.asset("assets/icons/your_icon.svg", package: 'package1'),
),

注意:确保flutter_svg已在主项目或package1的pubspec.yaml中添加依赖,并执行过flutter pub get。

3. 额外排查步骤

  • 执行flutter clean后再运行flutter pub get,清除资源缓存重新加载。
  • 确认package1的目录结构:比如package1/assets/icons/brightness.png文件真实存在,路径大小写与代码一致(Linux/macOS环境大小写敏感)。
  • 若仍有问题,可尝试在package1的pubspec.yaml中精确声明单个资源,而非整个目录:
    flutter:
      uses-material-design: true
      assets:
        - assets/icons/brightness.png
        - assets/icons/your_icon.svg
    

内容的提问来源于stack exchange,提问作者Arnob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:00:03