개요
Flutter 앱을 개발할 때 기본 아이콘 대신 커스텀 앱 아이콘을 설정해야 하는 경우가 많습니다.
Android와 iOS 각각의 플랫폼에 맞게 아이콘을 수동으로 설정하는 것은 번거로운 작업입니다.
flutter_launcher_icons 패키지를 사용하면 이 과정을 간단하게 자동화할 수 있습니다.
패키지 설치
dev_dependencies:
flutter_launcher_icons: ^0.14.1설정 파일 작성
pubspec.yaml에 아이콘 설정을 추가하거나, 별도의 flutter_launcher_icons.yaml 파일을 생성합니다.
flutter_launcher_icons:
android: true
ios: true
image_path: "assets/icon/app_icon.png"
# adaptive_icon_background: "#FFFFFF" # Android adaptive icon 배경색
# adaptive_icon_foreground: "assets/icon/app_icon_foreground.png"아이콘 생성
설정 후 아래 명령어를 실행합니다.
dart run flutter_launcher_icons실행 결과
명령어를 실행하면 다음과 같은 출력을 확인할 수 있습니다.
════════════════════════════════════════════
FLUTTER LAUNCHER ICONS (v0.14.1)
════════════════════════════════════════════
• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
• Creating adaptive icons Android
• Creating mipmap-mdpi/ic_launcher.png
• Creating mipmap-hdpi/ic_launcher.png
• Creating mipmap-xhdpi/ic_launcher.png
• Creating mipmap-xxhdpi/ic_launcher.png
• Creating mipmap-xxxhdpi/ic_launcher.png
• Creating mipmap-mdpi/ic_launcher_adaptive_fore.png
• Creating mipmap-hdpi/ic_launcher_adaptive_fore.png
• Creating mipmap-xhdpi/ic_launcher_adaptive_fore.png
• Creating mipmap-xxhdpi/ic_launcher_adaptive_fore.png
• Creating mipmap-xxxhdpi/ic_launcher_adaptive_fore.png
• Overwriting the default iOS launcher icon with a new icon
• Creating Icons-App-20x20@1x.png
• Creating Icons-App-20x20@2x.png
• Creating Icons-App-20x20@3x.png
• Creating Icons-App-29x29@1x.png
• Creating Icons-App-29x29@2x.png
• Creating Icons-App-29x29@3x.png
• Creating Icons-App-40x40@1x.png
• Creating Icons-App-40x40@2x.png
• Creating Icons-App-40x40@3x.png
• Creating Icons-App-60x60@2x.png
• Creating Icons-App-60x60@3x.png
• Creating Icons-App-76x76@1x.png
• Creating Icons-App-76x76@2x.png
• Creating Icons-App-83.5x83.5@2x.png
• Creating Icons-App-1024x1024@1x.png
✓ Successfully generated launcher icons생성되는 파일 위치
Android
android/app/src/main/res/ 디렉토리에 각 해상도별 아이콘이 생성됩니다.
android/app/src/main/res/
├── mipmap-mdpi/
│ └── ic_launcher.png
├── mipmap-hdpi/
│ └── ic_launcher.png
├── mipmap-xhdpi/
│ └── ic_launcher.png
├── mipmap-xxhdpi/
│ └── ic_launcher.png
└── mipmap-xxxhdpi/
└── ic_launcher.pngiOS
ios/Runner/Assets.xcassets/AppIcon.appiconset/ 디렉토리에 아이콘이 생성됩니다.
ios/Runner/Assets.xcassets/AppIcon.appiconset/
├── Icon-App-20x20@1x.png
├── Icon-App-20x20@2x.png
├── Icon-App-20x20@3x.png
├── Icon-App-29x29@1x.png
├── ...
└── Icon-App-1024x1024@1x.png주요 옵션
| 옵션 | 설명 |
|---|---|
image_path |
아이콘 이미지 경로 (1024x1024 권장) |
android |
Android 아이콘 생성 여부 |
ios |
iOS 아이콘 생성 여부 |
adaptive_icon_background |
Android adaptive icon 배경 |
adaptive_icon_foreground |
Android adaptive icon 전경 |
remove_alpha_ios |
iOS 아이콘에서 알파 채널 제거 |
참고사항
- 아이콘 이미지는 1024x1024 픽셀 이상의 PNG 파일을 권장합니다.
- Android 8.0 이상에서는 Adaptive Icon을 지원하므로 별도 설정이 필요할 수 있습니다.