Flutter Launcher Icons
一个命令行工具,用于简化更新 Flutter 应用的启动图标的任务。完全灵活,允许您选择要更新启动图标的平台,以及是否保留旧的启动图标以备将来回滚。
:book: 指南
1. 设置配置文件
将您的 Flutter 启动图标配置添加到 pubspec.yaml 或创建一个名为 flutter_launcher_icons.yaml 的新配置文件。
下面是一个示例。更复杂的示例 可以在示例项目中找到。
dev_dependencies:
flutter_launcher_icons: "^0.9.1"
flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/icon/icon.png"
如果您将配置文件命名为 flutter_launcher_icons.yaml 或 pubspec.yaml 以外的名称,您需要在运行该包时指定
文件名。
flutter pub get
flutter pub run flutter_launcher_icons:main -f <your config file name here>
注意:如果您没有使用现有的 pubspec.yaml,请确保您的配置文件位于其中。 (原文为:ensure that your config file is located in the same directory as it.)
2. 运行包
设置好配置后,只需运行该包即可。
flutter pub get
flutter pub run flutter_launcher_icons:main
如果您遇到任何问题,请在此处报告。
在上述配置中,该包被设置为替换 Android 和 iOS 项目中现有的启动图标
使用上面指定的图像路径中的图标,并在 Android 项目中命名为“launcher_icon”,在 iOS 项目中命名为“Example-Icon”。
:mag: 属性
下面是您可以在 Flutter 启动图标配置中指定的完整属性列表。
-
android/iostrue: 覆盖指定平台的默认现有 Flutter 启动图标false: 忽略为此平台生成启动图标icon/path/here.png: 这将为指定名称的平台生成新的启动图标,而不会删除旧的默认现有 Flutter 启动图标。
-
image_path: 您想用作应用程序启动图标的图标图像文件的位置 -
image_path_android: 特定于 Android 平台的图标图像文件的位置(可选 - 如果未定义,则使用 image_path) -
image_path_ios: 特定于 iOS 平台的图标图像文件的位置(可选 - 如果未定义,则使用 image_path)
注意:iOS 图标应填满整个图像,不包含透明边框。
接下来的两个属性仅在生成 Android 启动图标时使用
-
adaptive_icon_background: 将用于填充自适应图标背景的颜色(例如"#ffffff")或图像资源(例如"assets/images/christmas-background.png")。adaptive_icon_foreground: 将用于自适应图标前景的图像资源 -
adaptive_icon_foreground: 将用于自适应图标前景的图像资源
Flavor 支持
为您的 flavor 创建一个 Flutter 启动图标配置文件。配置文件名为 flutter_launcher-icons-<flavor>.yaml,其中 <flavor> 被替换为您所需的 flavor 名称。
配置文件格式相同。
已将一个支持 flavor 的示例项目 添加到示例中。
:question: 故障排除
列出了几个常见问题及其解决方案
生成的图标颜色与原始图标不同
由 Flutter 启动图标使用的图像依赖项的更新引起。
Use #AARRGGBB for colors instead of ##AABBGGRR, to be compatible with Flutter image class.
图像前景太大/太小
为获得最佳效果,请尝试使用具有填充的图像,就像示例中的那个一样。
依赖项不兼容
您可能会收到类似以下的消息
Because flutter_launcher_icons >=0.9.0 depends on args 2.0.0 and flutter_native_splash 1.2.0 depends on args ^2.1.1, flutter_launcher_icons >=0.9.0 is incompatible with flutter_native_splash 1.2.0.
And because no versions of flutter_native_splash match >1.2.0 <2.0.0, flutter_launcher_icons >=0.9.0 is incompatible with flutter_native_splash ^1.2.0.
So, because enstack depends on both flutter_native_splash ^1.2.0 and flutter_launcher_icons ^0.9.0, version solving failed.
pub get failed (1; So, because enstack depends on both flutter_native_splash ^1.2.0 and flutter_launcher_icons ^0.9.0, version solving failed.)
作为快速修复,您可以暂时覆盖对依赖项的所有引用:示例请参见此处。
