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

使用flutter_launcher_icons生成图标时遇RangeError索引越界问题

Flutter Launcher Icons 报 RangeError(index): Index out of range 问题解决

问题场景

执行dart run flutter_launcher_icons命令生成应用图标时,出现如下报错:

dart run flutter_launcher_icons
Building package executable... (2.0s)
Built flutter_launcher_icons:flutter_launcher_icons.
════════════════════════════════════════════
FLUTTER LAUNCHER ICONS (v0.13.1)  
════════════════════════════════════════════

• Creating default icons Android
• Adding a new Android launcher icon

✕ Could not generate launcher icons
RangeError (index): Index out of range: index should be less than 9216: 9252

pubspec.yaml中相关配置:

flutter_launcher_icons:
  android: 'launcher_icon'
  ios: true
  image_path: 'assets/images/shovel-brown.png'

已尝试操作:更换不同格式(png/jpg)、大小(1KB-12KB)、无透明层的图片;降级flutter_launcher_icons版本;升级Flutter及Android Studio依赖和工具,问题未解决。

可行解决方案

  • 确保原始图标为标准正方形
    flutter_launcher_icons要求原始图标必须是正方形,推荐使用1024x1024像素的图片。非正方形图片会导致内部像素解析时出现索引越界,即使文件大小在范围内也会触发报错。

  • 升级flutter_launcher_icons到最新稳定版
    0.13.1版本存在已知的图片解析bug,升级到0.14.1及以上版本可修复该问题。修改pubspec.yaml中的依赖版本后执行flutter pub get,再重新运行生成命令。

  • 清理Flutter缓存后重试
    执行以下命令清理缓存,避免缓存文件干扰:

    flutter clean
    flutter pub get
    

    之后再次运行dart run flutter_launcher_icons。

  • 使用Android Studio内置工具手动生成图标
    如果插件问题无法解决,可绕过插件直接生成:

    1. 打开Project视图下的android文件夹,右键点击res文件夹 → New → Image Asset
    2. 选择Launcher Icons(Adaptive and Legacy),导入图标图片后按向导完成生成
    3. iOS端可通过Xcode的Assets.xcassets手动添加对应尺寸的图标

内容的提问来源于stack exchange,提问作者Jiří Praus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 01:03:12