IT

Flutter Windows 앱에 아이콘 넣는 법 (아이콘 변경 안 될 때 해결 포함)

woo333 2025. 4. 18. 23:05

"앱 빌드는 잘 되는데 왜 .exe 아이콘이 Flutter 로고에서 안 바뀌죠?"

이 문제, Flutter로 데스크톱 앱 처음 만들면 꼭 한 번씩 겪습니다.

단순히 아이콘 파일 하나 바꾼다고 해결되지 않거든요.

 

🗂️ windows/ 디렉토리는 내 컴퓨터의 C:\Windows가 아닙니다.
Flutter 프로젝트 폴더 안에 자동 생성되는 하위 디렉토리예요.

 

my_flutter_app/
├── lib/
├── assets/
├── windows/       ← 바로 이 폴더!
│   ├── runner/
│   │   ├── resources/
│   │   │   └── app_icon.ico
│   │   └── Runner.rc
│   └── CMakeLists.txt

 

📦 이 windows/ 폴더는 Flutter가 Windows 앱을 빌드하기 위한 설정 파일들을 넣는 곳이에요.
여기에 아이콘을 바꾸거나 .rc 파일을 편집하게 됩니다.

✅ 기본 아이콘 위치는 어디에 있나요?

flutter create로 프로젝트 만들면
기본 아이콘 파일은 여기에 생성됩니다:

windows/runner/resources/app_icon.ico

바로 이 app_icon.ico 파일이 .exe에 적용되는 아이콘이에요.

 

🛠️ 아이콘 변경 방법 (순서대로 따라만 하면 됨)

 

🔧 1. .ico 파일 만들기

방법 A. 온라인 변환기 사용

👉 16, 32, 48, 256 등 다양한 해상도 포함된 .ico 권장


방법 B. GIMP로 직접 만들기

💡 GIMP는 무료 이미지 편집 프로그램입니다.

PNG를 직접 .ico로 저장할 수 있어요.

 

방법:

  1. PNG 파일을 GIMP로 열기
  2. [파일] → [다른 이름으로 저장]
  3. 파일명 뒤에 .ico 확장자 붙이기 (my_icon.ico)
  4. 저장 시 해상도(예: 16, 32, 48, 256) 선택 가능

👉 레이어 크기를 맞춰둔 상태에서 저장하면 알아서 .ico 포맷으로 내보내줍니다.

 

2. 프로젝트에 아이콘 넣기

  • 아래 경로에 아이콘 덮어쓰기:
windows/runner/resources/app_icon.ico

 

3. Runner.rc에 연결 확인

파일 경로: windows/runner/Runner.rc

#include <windows.h>
IDI_APP_ICON ICON "resources/app_icon.ico"

→ 이미 있을 확률 높음. 없으면 직접 추가.

 

4. CMakeLists.txt에서 .rc 파일 포함됐는지 확인

파일 경로: windows/CMakeLists.txt

set(WINDOWS_APP_ICON_RESOURCE_WINDOWS runner/Runner.rc)

→ 없다면 add_executable() 위에 추가하세요.

 

5. 다시 빌드

flutter clean
flutter build windows

 

😡 아이콘이 여전히 안 바뀌어요?

문제는 대부분 Windows 아이콘 캐시 때문입니다.

 

🧹 아이콘 캐시 초기화 3가지 방법

✅ 1. .exe 이름 바꾸기 (가장 빠름)

MyApp.exe → MyApp_v1.exe

→ Windows는 파일 경로 기준으로 캐시하기 때문에 이름 바꾸면 아이콘 새로 반영됨

 

✅ 2. 탐색기 캐시 수동 삭제

  1. 작업 관리자에서 Windows 탐색기 강제 종료
  2. C:\Users\<사용자>\AppData\Local\IconCache.db 삭제
  3. explorer.exe 다시 실행

✅ 3. 다른 폴더에 복사해서 실행

예: build/windows/runner/Release/ 폴더 전체를
C:\MyApp_v1\ 같은 새 폴더에 복사해서 실행

 

🎯 아이콘 파일 문제일 수도 있어요

아이콘이 안 바뀐다면, .ico 자체에 문제가 있을 수도 있어요:

조건설명
해상도 포함 256x256 이상 포함돼야 탐색기에서 잘 보임
포맷 압축 안 된 BMP 계열 포맷이어야 안전
투명 배경 가능하면 지원하는 변환 사이트에서 생성

✅ 요약

단계설명
1 .ico 파일 생성 (다양한 해상도 포함)
2 windows/runner/resources/app_icon.ico에 덮어쓰기
3 Runner.rc에 등록
4 flutter build windows로 다시 빌드
5 캐시 문제시 .exe 이름 바꾸거나 캐시 삭제