mrrhak / icons_launcher

Icons Launcher - A command-line tool that simplifies the task of updating your Flutter app's launcher icon. Full flexibility allows you to only update the launcher icon for specific platforms as needed.
https://pub.dev/packages/icons_launcher
MIT License
96 stars 11 forks source link
dart flutter flutter-icons-launcher icons icons-launcher launcher launcher-icons

πŸƒ Icons Launcher πŸƒ

A command-line tool that simplifies the task of updating your Flutter app's launcher icon. Full flexibility allows you to only update the launcher icon for specific platforms as needed.

buymeacoffee Ko-fi
Pub Package Pub Likes Pub Popularity Pub Package Star on Github Forks on Github Contributors Build Status Code size License: MIT Platform

icons launcher preview

Platform Support

Android iOS macOS Web Linux Windows
βœ… βœ… βœ… βœ… βœ… βœ…

Guide

1. Setup the config file

Add your Icons Launcher configuration to your pubspec.yaml or create a new config file called icons_launcher.yaml.

An example is shown below. More complex examples here.

Add config to pubspec.yaml or create a separate icons_launcher.yaml

icons_launcher:
  image_path: "assets/ic_logo_radius.png"
  platforms:
    android:
      enable: true
    ios:
      enable: true

Note For IOS 18 icons dark and tinted also supported. See more on example config below.

2. Run the package

After setting up the configuration, all that is left to do is run the package:

flutter pub get
dart run icons_launcher:create

If you name your configuration file something other than icons_launcher.yaml or pubspec.yaml you will need to specify the name of the file when running the package.

flutter pub get
dart run icons_launcher:create --path <your config file name here>

Note

If you are not using the existing pubspec.yaml your config file must still be located in the same directory as it.

If you encounter any issues please report them here.

In the above configuration, the package is setup to replace the existing launcher icons in both the Android and iOS project.


Attributes

Shown below is the full list of attributes which you can specify within your Icons Launcher configuration.

Icons Launcher Option Type Default Description
image_path String null The image file path
platforms Object null Use for specific platforms to generate icons

Platforms Option Type Default Description
android Object null Use for specific Android platform
ios Object null Use for specific iOS platform
macos Object null Use for specific macOS platform
windows Object null Use for specific Windows platform
web Object null Use for specific Web platform
linux Object null Use for specific Linux platform
Android Option Type Default Description
enable Boolean false Use for enable Android platform
image_path String null The image file path
notification_image String null Image for the notification icon
adaptive_background_color String null Color for fill out the background of the adaptive icon
adaptive_background_image String null Image for fill out the background of the adaptive icon
adaptive_foreground_image String null Image for the icon foreground of the adaptive icon
adaptive_round_image String null Image for the round icon of the adaptive icon
adaptive_monochrome_image String null Image for the monochrome version of the adaptive icon
iOS Option Type Default Description
enable Boolean false Use for enable iOS platform
image_path String null The image file path
dark_path String null The dark image file path
tinted_path String null The tinted image file path
Web Option Type Default Description
enable Boolean false Use for enable Web platform
image_path String null The image file path
favicon_path String null The image file path
macOS Option Type Default Description
enable Boolean false Use for enable macOS platform
image_path String null The image file path
Windows Option Type Default Description
enable Boolean false Use for enable Windows platform
image_path String null The image file path
Linux Option Type Default Description
enable Boolean false Use for enable Linux platform
image_path String null The image file path

Flavor support

Create a Icons Launcher configuration file for your flavor. The config file is called icons_launcher-<flavor>.yaml by replacing <flavor> by the name of your desired flavor.

Example: icons_launcher-dev.yaml and icons_launcher-prod.yaml

Run with flavor:

flutter pub get
# create for dev flavor
dart run icons_launcher:create --flavor dev

# create for prod flavor
dart run icons_launcher:create --flavor prod

Alternatively, you can run multiple flavors at the same time with the following command:

dart run icons_launcher:create --flavors dev,prod

The configuration file format is the same.


Example

icons_launcher:
  image_path: "assets/ic_logo_radius.png"
  platforms:
    android:
      enable: true
      image_path: "assets/ic_logo_radius.png"
      notification_image: "assets/ic_foreground.png"
      # adaptive_background_color: '#ffffff'
      adaptive_background_image: "assets/ic_background.png"
      adaptive_foreground_image: "assets/ic_foreground.png"
      adaptive_round_image: "assets/ic_logo_round.png"
      adaptive_monochrome_image: "assets/ic_black_white.png"
    ios:
      enable: true
      image_path: "assets/ic_logo_rectangle_light.png"
      # For iOS 18+ (support dark and tinted)
      dark_path: "assets/ic_logo_rectangle_dark.png"
      tinted_path: "assets/ic_logo_rectangle_tinted.png"
    web:
      enable: true
      image_path: "assets/ic_logo_radius.png"
      favicon_path: "assets/ic_logo_round.png"
    macos:
      enable: false
      image_path: "assets/ic_logo_radius.png"
    windows:
      enable: false
      image_path: "assets/ic_logo_radius.png"
    linux:
      enable: false
      image_path: "assets/ic_logo_radius.png"

Activities

Alt