パッケージ「flutter_launcher_icons」を使ってFlutterアプリのアイコンを変更しようとしたら、”flutter pub run flutter_launcher_icons:main”実行でエラーになったので、その解決方法を記録しようと思います。
パッケージ導入とアイコン追加
ターミナルで次のコマンドを実行。flutter_launcher_iconsパッケージをインストールします。
flutter pub add flutter_launcher_icons
プロジェクトにpngファイルを追加し、pubspec.yamlに以下を追加します。
dev_dependencies:
flutter_launcher_icons: "^0.9.2"
flutter_icons:
android: true
ios: true
image_path: "assets/icon/icon.png"
#image_path_android: "assets/icon/(android用の画像).png"
#image_path_ios: "assets/icon/(ios用の画像).png"
image_pathでiOSとAndroidの両方のアイコンを一括で設定するか、image_path_○○で個別に設定するかは自由です。
ターミナルで以下を実行。
flutter pub get
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/localuser/Documents/Developer/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
解決方法
pubspec.yamlを次のように修正します。
dependencies:
flutter_lints: ^1.0.0
flutter_launcher_icons:
git:
url: https://github.com/Davenchy/flutter_launcher_icons.git
ref: fixMinSdkParseFlutter2.8
ターミナルで以下を実行します。
flutter pub run flutter_launcher_icons:main
私の場合、”flutter upgrade”しなさいエラーが発生したので、
╔════════════════════════════════════════════════════════════════════════════╗
║ A new version of Flutter is available! ║
║ ║
║ To update to the latest version, run "flutter upgrade". ║
╚════════════════════════════════════════════════════════════════════════════╝
The pubspec.yaml file has changed since the pubspec.lock file was generated, please run "flutter pub get" again.
pub finished with exit code 65
ターミナルで”flutter upgrade”実行。
もう一度”flutter pub run flutter_launcher_icons:main”を実行。
成功しました。以下、実行結果です。
════════════════════════════════════════════
FLUTTER LAUNCHER ICONS (v0.9.1)
════════════════════════════════════════════
• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
WARNING: Icons with alpha channel are not allowed in the Apple App Store.
Set "remove_alpha_ios: true" to remove it.
• Overwriting default iOS launcher icon with new icon
✓ Successfully generated launcher icons
最後にプロジェクトをビルドし直すと、アプリのアイコンが変更されました。
誰かの助けになれば幸いです。
参考記事
【Flutter】アプリアイコンのパッケージ、flutter_launcher_iconsで【FormatException: Invalid number (at character 1)】エラーが発生したときの対処 - Qiita
この記事を読んだら分かることFlutterでflutter_launcher_iconsを使ってアイコンを設定するときのエラーの対処ができ、アプリアイコンを設定できる!!エラー内容Format…