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.yamlpubspec.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/ios

    • true: 覆盖指定平台的默认现有 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.)

作为快速修复,您可以暂时覆盖对依赖项的所有引用:示例请参见此处

:eyes: 示例

Video Example

GitHub

https://github.com/fluttercommunity/flutter_launcher_icons