flutter_launcher_icons_plus —— 一行命令,全平台启动图标全搞定
大家好我是少湖!上一期我们聊了screen_brightness_ohos,这次带来的是开发中另一个高频需求——App 启动图标生成。
每次给 App 换图标都要手动切图、配一堆平台目录?Android 要 mipmap、iOS 要 Assets.xcassets、还得适配自适应图标……现在连鸿蒙也来凑热闹了 😂
好消息是——flutter_launcher_icons_plus 已经支持 OHOS 了!一行命令,Android、iOS、Web、Windows、macOS 和 鸿蒙的图标全部自动生成。
痛点
Flutter 项目要换启动图标,手动操作有多痛苦?
- Android 自适应图标要配 foreground + background
- 鸿蒙的图标又要放到
ohos/AppScope/resources/base/media/ 下面
而社区经典的 flutter_launcher_icons[1] 已经停更,不支持鸿蒙。
现在,flutter_launcher_icons_plus 就是你的救星 🚀
核心特性
- ✅ 原生支持 OHOS,自动写入
ohos/AppScope/resources/base/media/ - ✅ Android 自适应图标(foreground / background / monochrome)
- ✅ Web / Windows / macOS 全覆盖
- ✅ 分层图标模式:OHOS 也支持 layered-image
- ✅ 自动更新
module.json5 / app.json5,无需手动改配置
快速上手
1. 添加依赖
dev_dependencies:
flutter_launcher_icons_plus: ^0.15.0
2. 创建配置文件
方案一:自动生成
dart run flutter_launcher_icons_plus:generate
方案二:在 pubspec.yaml 中直接配置
flutter_launcher_icons_plus:
image_path: "assets/icon/icon.png"
android: true
ios: true
ohos: true
web:
generate: true
image_path: "assets/icon/icon.png"
background_color: "#ffffff"
theme_color: "#ffffff"
windows:
generate: true
image_path: "assets/icon/icon.png"
icon_size: 48
macos:
generate: true
image_path: "assets/icon/icon.png"
对于鸿蒙分层图标(推荐),配置更精细:
flutter_launcher_icons_plus:
image_path: "assets/icon/icon.png"
ohos:
generate: true
image_path: "assets/icon/icon.png" # 用作 startIcon
image_path_foreground: "assets/icon/foreground.png"
image_path_background: "assets/icon/background.png"
android:
adaptive_icon_foreground: "assets/icon/foreground.png"
adaptive_icon_background: "#FFFFFF"
ios: true
3. 执行生成
flutter pub get
dart run flutter_launcher_icons_plus
大功告成!去检查各平台的 icon 目录,全部自动替换好了 ✨
OHOS 生成效果
执行后,插件会自动处理以下内容:
| 文件路径 |
说明 |
ohos/AppScope/resources/base/media/icon.png |
单图模式启动图标 |
ohos/entry/src/main/resources/base/media/icon.png |
单图模式入口图标 |
ohos/AppScope/resources/base/media/foreground.png |
分层模式前景 |
ohos/AppScope/resources/base/media/background.png |
分层模式背景 |
ohos/entry/src/main/resources/base/media/foreground.png |
分层模式前景 |
ohos/entry/src/main/resources/base/media/background.png |
分层模式背景 |
ohos/entry/src/main/resources/base/media/startIcon.png |
启动窗口图标 |
ohos/entry/src/main/resources/base/media/layered_image.json |
分层图片配置文件(自动生成) |
插件还会自动更新 module.json5 中的 icon 和 startWindowIcon 引用,完全不需要你手动改任何配置文件 👍
环境要求
- 已初始化的 Flutter 鸿蒙项目(支持 ohos 目录结构)
这个插件简直是多平台开发者的福音!一行命令搞定所有平台图标,鸿蒙也稳稳的 ✨
仓库:https://github.com/star4277/flutter_launcher_icons_plus[2]
觉得好用的话给个 ⭐ Star 支持一下作者呀~
下期预告:你希望介绍哪个插件?欢迎留言告诉我!🦊
由我编著的《鸿蒙Flutter开发实战》图书已上架京东图书等各大商店,内容涵盖基础知识、鸿蒙化原理及适配、混合开发、插件开发、高级特性优化、性能分析、三方库适配、开发实战、鸿蒙PC等等,基于 Flutter 3.35 版本,是不可多得的 Flutter鸿蒙化适配工具书和实战案例,欢迎大家选购 🎉🎉🎉
引用链接
[1]flutter_launcher_icons: https://pub.dev/packages/flutter_launcher_icons
[2]https://github.com/star4277/flutter_launcher_icons_plus