프로그래밍/flutter

[flutter] 앱 아이콘 변경

소행성왕자 2023. 8. 16. 16:20

Icon 만들기

appicon.co 해당 사이트에서 앱 아이콘으로 사용할 이미지를 등록후 다운받도록 하자.

1. 안드로이드

플러터 앱 root 디렉토리에서 android/app/src/main/res 폴더를 확인해보면 아래와 같은 구조를 볼수있다.

위에서 받은 파일을 압축풀면

icon 파일중 android 파일을 열어보면 아래와 같은 폴더들이 있다.

res 폴더안에 같은 이름의 폴더들이 존재하는걸 확인 할 수 있다.

해당경로의 파일들을 ic_launcher2.png 로 복사한다.

android/app/src/main/AndroidManifest.xml  내용중 andrid:icon  항목을 ic_launcher2 로 변경해준다.

android:icon="@mipmap/ic_launcher2"

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.webview_flutter_2308">
   <application
        android:label="webview_flutter_2308"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher2"
        android:usesCleartextTraffic="true">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

2. iOS

안드로이드와 ios는 폴더 이름이 다르고 위치가 다르다는 것 빼고는 방법은 같다.

ios/Runner/Assets.xcassets 폴더 안에 AppIcon.appiconset 폴더를 통채로 갈아주면 된다.

다운받은 icon 압축풀면 AppIcon.appiconset 폴더 있다.

교체해주면 된다.