他のサイトとか見てのメモを残しておきます。(完全に自分メモ)
Android, iOSで各種端末、環境で使うアイコンはサイズが色々あります。
こんなサイズ全部作ってたら日が暮れちまうのでFlutterのライブラリで作ります。
上記のサイトから。dev_dependenciesにアイコンのライブラリを宣言して別途flutter_iconsとしてソースを設定します。サイズは1024 * 1024で作成しておきます。
dev_dependencies:
flutter_launcher_icons: "^0.9.2"
flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/icon/icon.png"
pub getまたはEditorの[pub get]してから以下のコマンドを実行。
flutter pub run flutter_launcher_icons:main
場合により以下のようなエラーが出る
flutter pub run flutter_launcher_icons:main
════════════════════════════════════════════
FLUTTER LAUNCHER ICONS (v0.9.1)
════════════════════════════════════════════
✓ Successfully generated launcher icons
Unhandled exception:
FormatException: Invalid number (at character 1)
^
#0 int._handleFormatError (dart:core-patch/integers_patch.dart:129:7)
#1 int.parse (dart:core-patch/integers_patch.dart:55:14)
#2 minSdk (package:flutter_launcher_icons/android.dart:309:18)
#3 createIconsFromConfig (package:flutter_launcher_icons/main.dart:94:47)
#4 createIconsFromArguments (package:flutter_launcher_icons/main.dart:60:7)
#5 main (file:///Users/hosokawashinya/libs/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.9.2/bin/main.dart:6:26)
#6 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:32)
#7 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
pub finished with exit code 255
エラーメッセージで検索すると以下のgithubが引っかかる。
pubspec.ymlの宣言は以下に修正
flutter_launcher_icons:
git:
url: https://github.com/Davenchy/flutter_launcher_icons.git
ref: fixMinSdkParseFlutter2.8
再度flutter pub runする。
% flutter pub run flutter_launcher_icons:main
════════════════════════════════════════════
FLUTTER LAUNCHER ICONS (v0.9.1)
════════════════════════════════════════════
• Creating default icons Android
• Adding a new Android launcher icon
• Overwriting default iOS launcher icon with new icon✓ Successfully generated launcher icons
すると以下のファイルが変更されていたり追加されていたりします。あとは実行してみるとアイコンが変わってる事がわかります。
modified: android/app/src/main/AndroidManifest.xml
modified: ios/Runner.xcodeproj/project.pbxproj
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
android/app/src/main/res/mipmap-hdpi/launcher_icon.png
android/app/src/main/res/mipmap-mdpi/launcher_icon.png
android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png