Flutter flutter_launcher_icons error: pub finished with exit code 255

Flutter flutter_launcher_icons error: pub finished with exit code 255

我想为 flutter 创建我的启动器图标。我的配置 (pubspec.yaml) 如下所示。

...
  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  flutter_spinkit: ^5.1.0
  url_launcher: ^6.0.17
  http: ^0.13.4
  intl: ^0.17.0
  flutter_launcher_icons: ^0.9.2

flutter_icons:
  android: true
  ios: true
  image_path: "assets/logo_blue.png"
...

我通过控制台 (flutter pub add flutter_launcher_icons) 安装了 flutter_launcher_icon。之后我将配置(见上文)添加到 pubspec.yaml 文件并在控制台中输入以下两个命令:

flutter pub get
flutter pub run flutter_launcher_icons:main

如文档中所述 (https://pub.dev/packages/flutter_launcher_icons)。但是在第二个命令之后,我收到以下错误消息并且发布完成,退出代码为 255.

  ════════════════════════════════════════════
     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:///C:/Users/chris/AppData/Local/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

我做错了什么?

谢谢!

在您的项目中,转到 android/app/build。gradle 并将 minSdkVersion 和 targetSdkVersion 更改为整数值。

minSdkVersion 21
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

然后运行下面的命令

flutter pub get
flutter pub run flutter_launcher_icons:main

尝试将 minSdkVersion 的值更改为 23 并将 targetSdkVersion 的值更改为 23。然后只需 运行 以下命令:flutter pub run flutter_launcher_icons:main

更改 minSdkVersion Number 对我不起作用,flutter_launcher_icons gitanswer 中似乎存在错误。如果我从配置中删除 android:true,它会成功创建 iOS 图标。

我现在手动创建并替换了 android 的图标。如果您想这样做,请在您的项目中转到 projectname/android/app/src/res 并替换以 mipmap 开头的文件夹中的 *png 文件...

Br, 克里斯

如果您的应用是使用 2.8.0 或更高版本的 flutter sdk 创建的,那么您也可能会遇到此问题。在项目的 android/app/build.gradle 文件夹中,您将看到:

minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion

截至目前,我仍在研究这些值的来源,但要解决此问题,请将上面的第一行替换为,应用程序图标的问题应在您 运行 命令后解决前面提到。

minSdkVersion 21

对于启动画面图像或图标,android/app/src/main/drawable-v21 中有一个名为 drawable-v21 的文件夹,Flutter 框架现在似乎在该文件夹中管理启动画面。取消注释代码并指向其中的资产

这很有趣,但您还应该为 IOS 提供一个图标。如果您不包含 image_path_ios: 'youricon.png',则会出现该错误。

因此,即使您的应用不在应用商店中,也只需将您的图片路径写到那里即可。

要完全理解问题,请检查源代码中的这一行

// remove anything from the line that is not a digit
final String minSdk = line.replaceAll(RegExp(r'[^\d]'), '');

因此,如果您的 build.gradle 中有 flutter.minSdkVersion,它将无法正常工作。 建议只使用整数。