为什么在 flutter 项目中添加启动器图标时出现错误?

MNB*_*rld 20 dart visual-studio-code flutter

因此,我正在尝试用我的图标更改默认的颤动启动器图标。我正在使用flutter_launcher_icons: ^0.9.2pub.dev \npubspec.yaml 中的代码:

\n
dependencies:\n  flutter:\n    sdk: flutter\n\n\n  # The following adds the Cupertino Icons font to your application.\n  # Use with the CupertinoIcons class for iOS style icons.\n  cupertino_icons: ^1.0.2\n  hexcolor: ^2.0.5\n  google_fonts: ^2.1.0\n  flutter_neumorphic: ^3.2.0\n  flutter_launcher_icons: ^0.9.2\n\ndev_dependencies:\n  flutter_lints: ^1.0.4\n  flutter_test:\n    sdk: flutter\n\nflutter_icons:\n  image_path: "assets/icon/icon.png"\n  android: true\n  ios: true\n
Run Code Online (Sandbox Code Playgroud)\n

但是当我运行时flutter pub run flutter_launcher_icons:main,我收到错误消息:

\n
  \xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\n     FLUTTER LAUNCHER ICONS (v0.9.1)\n  \xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\n\n\n\xe2\x9c\x93 Successfully generated launcher icons\nUnhandled exception:\nFormatException: Invalid number (at character 1)\n\n^\n\n#0      int._handleFormatError (dart:core-patch/integers_patch.dart:129:7)\n#1      int.parse (dart:core-patch/integers_patch.dart:55:14)\n#2      minSdk (package:flutter_launcher_icons/android.dart:309:18)\n#3      createIconsFromConfig (package:flutter_launcher_icons/main.dart:94:47)\n#4      createIconsFromArguments (package:flutter_launcher_icons/main.dart:60:7)\n#5      main (file:///C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.9.2/bin/main.dart:6:26)\n#6      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:32)\n#7      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)\npub finished with exit code 255\n
Run Code Online (Sandbox Code Playgroud)\n

并且图标不会改变。

\n

大概是什么问题?

\n

=>我的意思是,因为它以前工作过很多次......

\n

Jus*_*koi 44

转至 并将和android/app/build.gradle更改为整数值。minSdkVersiontargetSdkVersion

minSdkVersion 21
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
Run Code Online (Sandbox Code Playgroud)

然后做剩下的事情,即

pub.get -> flutter pub run flutter_launcher_icons:main
Run Code Online (Sandbox Code Playgroud)


Sps*_*mta 8

另一种解决问题的方法也对我有用。

\n

关于

\n

这个错误主要是由于android: true,当我在遵循许多文章后尝试使用

\n

(pubspec.yaml)

\n
flutter_icons:\n  image_path: "images/icon.png" \n  android: false\n  ios: true\n
Run Code Online (Sandbox Code Playgroud)\n

它只适用于ios,之后我得到了一个用于ios的推荐代码。我补充道。

\n
flutter_icons:\n  image_path: "images/icon.png" \n  android: false\n  ios: true\n  remove_alpha_ios: true  //recommendation added\n
Run Code Online (Sandbox Code Playgroud)\n

最后一步

\n

(选修的)

\n
\n

错误是我造成的

\n
\n

只需检查您是否在同一个文件中编写了任何额外的代码,因为由于文件中的额外代码,我遇到了很多麻烦。这一build.gradle行用于flutter.minSdkVersionandroid\\local.properties文件中获取 的值。

\n
def flutterminSdkVersion = localProperties.getProperty(\'flutter.minSdkVersion\')\n
Run Code Online (Sandbox Code Playgroud)\n

(android\\app\\build.gradle)

\n
    minSdkVersion 16 \n    targetSdkVersion flutter.targetSdkVersion\n    versionCode flutterVersionCode.toInteger()\n    versionName flutterVersionName\n
Run Code Online (Sandbox Code Playgroud)\n

然后运行通常的代码

\n
flutter pub get \nflutter pub run flutter_launcher_icons:main\n
Run Code Online (Sandbox Code Playgroud)\n

我得到了输出

\n
 \xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\n     FLUTTER LAUNCHER ICONS (v0.9.1)\n  \xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\n\n\xe2\x80\xa2 Creating default icons Android\n\xe2\x80\xa2 Overwriting the default Android launcher icon with a new icon\n\xe2\x80\xa2 Overwriting default iOS launcher icon with new icon\n\n\xe2\x9c\x93 Successfully generated launcher icons\n
Run Code Online (Sandbox Code Playgroud)\n

最终上述代码解决了问题,我希望任何人都可以从中获得帮助并节省他/她的宝贵时间。

\n

附上一些资料来源,这对我做出最终判决有帮助。

\n

https://issueexplorer.com/issue/fluttercommunity/flutter_launcher_icons/301 \n https://github.com/fluttercommunity/flutter_launcher_icons/issues/88

\n


D.A*_*pun 7

我遇到了同样的问题并找到了解决方案

1.添加依赖项如下[pubspec.yaml]

dependencies:
  flutter:
    sdk: flutter
  flutter_launcher_icons: ^0.9.2  // add lib as here
Run Code Online (Sandbox Code Playgroud)

2. 添加以下行[pubspec.yaml]

flutter_icons:
  image_path: "assets/launcher_icon.png"
  android: true
  ios: true
  remove_alpha_ios: true
Run Code Online (Sandbox Code Playgroud)

3.打开local.properties文件并添加以下行[android\local.properties]

flutter.minSdkVersion=21
Run Code Online (Sandbox Code Playgroud)

4.现在转到app/build.gradle文件并添加以下内容(如果不存在): [app level > build.gradle]

def flutterMinSdkVersion = localProperties.getProperty('flutter.minSdkVersion')
if (flutterMinSdkVersion == null) {
    flutterMinSdkVersion = flutter.minSdkVersion.toString()
}
Run Code Online (Sandbox Code Playgroud)

defaultConfig5.然后转到build.gradle[转到下面的同一文件]

替换这一行> minSdkVersion flutter.minSdkVersion

与此>minSdkVersion flutterMinSdkVersion

6. 转到build.gradle并保存

7. 转到local.properties并保存

8.进入android studio并运行下面

flutter pub get 
    
flutter pub run flutter_launcher_icons:main
Run Code Online (Sandbox Code Playgroud)

它会起作用的:)!