✨ 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 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_border.png"
  platforms:
    android:
      enable: true
    ios:
      enable: true

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
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
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

Run with flavor:

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

The configuration file format is the same.


Example

icons_launcher:
  image_path: "assets/ic_logo_border.png"
  platforms:
    android:
      enable: true
      image_path: "assets/ic_logo_border.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_logo_monochrome.png"
    ios:
      enable: true
      image_path: "assets/ic_logo_rectangle.png"
    web:
      enable: true
      image_path: "assets/ic_logo_border.png"
      favicon_path: "assets/ic_logo_round.png"
    macos:
      enable: false
      image_path: "assets/ic_logo_border.png"
    windows:
      enable: false
      image_path: "assets/ic_logo_border.png"
    linux:
      enable: false
      image_path: "assets/ic_logo_border.png"