Flutterアプリで自作アイコンに変更しようとしたらエラーになった話。

Flutter

パッケージ「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…
タイトルとURLをコピーしました