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

flutter_launcher_icons无法找到指定图片且版本不一致问题求助

flutter_launcher_icons无法找到指定图片且版本不一致问题求助

兄弟,你遇到的这两个问题我之前踩过坑,咱们一步步来捋清楚解决:

一、为啥工具还在找默认的assets/icon/icon.png?

看了你贴的pubspec配置,大概率是这几个原因:

  1. pubspec配置结构写错了
    划重点:flutter_launcher_icons的配置块必须和dev_dependencies是平级的,绝对不能嵌套在依赖声明里面!正确的结构应该是这样:

    dev_dependencies:
      flutter_launcher_icons: ^0.14.2  # 依赖版本声明放在这里
    
    # 这个配置块要单独放在pubspec最外层,和上面的dev_dependencies同级!
    flutter_launcher_icons:
      image_path: "assets/icons/BuddhaTime1024.png"
      android: "launcher_icon"
      ios: true
      # 其他平台的配置...
    

    要是你把自定义路径配置嵌套在dev_dependencies下面的flutter_launcher_icons里,工具根本读不到你的设置,自然会用默认路径。

  2. 文件路径或文件名有问题

    • 先仔细核对:项目根目录下真的存在assets/icons/BuddhaTime1024.png这个文件吗?别打错字!尤其是大小写——Linux、macOS、Android系统是区分大小写的,比如你写的BuddhaTime1024.png,实际文件名会不会是buddhatime1024.png?
    • 另外,记得在flutter节点下声明这个assets文件夹(虽然图标工具可能不需要,但能确保路径有效性):
      flutter:
        assets:
          - assets/icons/
      
  3. 依赖没更新或有缓存残留

    • 改完pubspec后,必须先跑flutter pub get,让工具读取最新配置,不然还是会沿用旧的设置。
    • 要是之前用默认路径生成过图标,可能有缓存残留。你可以删掉项目里的build文件夹,再重新执行生成命令,清空旧缓存。

二、为啥运行时版本是0.14.3,和pubspec里的0.14.2不一致?

这个是完全正常的!你pubspec里写的^0.14.2是兼容版本范围声明,意思是允许安装>=0.14.2 <0.15.0之间的最新小版本。所以pub会自动拉取0.14.x分支里的最新版也就是0.14.3,这是依赖管理的标准行为,不会影响功能。

如果你一定要固定用0.14.2版本,把版本号改成flutter_launcher_icons: 0.14.2(去掉前面的^符号),再跑flutter pub get就可以了。

最后试试这些操作步骤

  1. 调整flutter_launcher_icons的配置块位置,确保和dev_dependencies平级。
  2. 确认文件路径和文件名完全正确,执行flutter pub get更新依赖。
  3. 删除项目根目录的build文件夹。
  4. 重新执行dart run flutter_launcher_icons生成图标。

应该就能解决你的问题啦!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 14:44:50