美文网首页
Flutter 修改应用程序的名称和图标

Flutter 修改应用程序的名称和图标

作者: 吾等斩去红尘时 | 来源:发表于2022-04-23 20:58 被阅读0次

    Android

    修改应用程序的名称

    在项目中找到 AndroidManifest.xml 文件,其中 android:label="demo" 就是应用程序名称,修改引号中的内容即可

    android/app/src/main/AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="com.demo.demo">
       <application
            android:label="demo"
            android:name="${applicationName}"
            android:icon="@mipmap/ic_launcher">
            ...
        </application>
    </manifest>
    

    修改应用程序的图标

    在项目中找到 mipmap-mdpi mipmap-hdpi mipmap-xhdpi mipmap-xxhdpi mipmap-xxxhdpi 文件夹,替换这些文件夹中的 ic_launcher.png 文件即可

    android/app/src/main/res

    ➜  res tree
    .
    ├── drawable
    │   └── launch_background.xml
    ├── drawable-v21
    │   └── launch_background.xml
    ├── mipmap-mdpi
    │   └── ic_launcher.png  # 图标大小为 48x48 像素
    ├── mipmap-hdpi
    │   └── ic_launcher.png  # 图标大小为 72x72 像素
    ├── mipmap-xhdpi
    │   └── ic_launcher.png  # 图标大小为 96x96 像素
    ├── mipmap-xxhdpi
    │   └── ic_launcher.png  # 图标大小为 144x144 像素
    ├── mipmap-xxxhdpi
    │   └── ic_launcher.png  # 图标大小为 192x192 像素
    ├── values
    │   └── styles.xml
    └── values-night
        └── styles.xml
    
    9 directories, 9 files
    

    注意:图标有多种尺寸的大小,是为了适配不同分辨率的手机而设计的

    iOS

    修改应用程序的名称

    在项目中找到 Info.plist 文件,其中 CFBundleDisplayNameCFBundleName 下面的就是应用程序名称,修改内容即可

    ios/Runner/Info.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        ...
        <key>CFBundleDisplayName</key>
        <string>demo</string>
        ...
        <key>CFBundleName</key>
        <string>demo</string>
        ...
    </dict>
    </plist>
    

    修改应用程序的图标

    找到项目中的 AppIcon.appiconset 文件夹,其中 Contents.json 是配置文件,其它的图片文件就是图标,替换这些图片文件即可

    ios/Runner/Assets.xcassets/AppIcon.appiconset

    ➜  AppIcon.appiconset tree
    .
    ├── Contents.json
    ├── Icon-App-20x20@1x.png  # 图标大小为 20x20 像素
    ├── Icon-App-20x20@2x.png  # 图标大小为 40x40 像素
    ├── Icon-App-20x20@3x.png  # 图标大小为 60x60 像素
    ├── Icon-App-29x29@1x.png  # 图标大小为 29x29 像素
    ├── Icon-App-29x29@2x.png  # 图标大小为 58x58 像素
    ├── Icon-App-29x29@3x.png  # 图标大小为 87x87 像素
    ├── Icon-App-40x40@1x.png  # 图标大小为 40x40 像素
    ├── Icon-App-40x40@2x.png  # 图标大小为 80x80 像素
    ├── Icon-App-40x40@3x.png  # 图标大小为 120x120 像素
    ├── Icon-App-60x60@2x.png  # 图标大小为 120x120 像素
    ├── Icon-App-60x60@3x.png  # 图标大小为 180x180 像素
    ├── Icon-App-76x76@1x.png  # 图标大小为 76x76 像素
    ├── Icon-App-76x76@2x.png  # 图标大小为 152x152 像素
    ├── Icon-App-83.5x83.5@2x.png  # 图标大小为 167x167 像素
    └── Icon-App-1024x1024@1x.png  # 图标大小为 1024x1024 像素
    
    0 directories, 16 files
    

    注意:图标有多种尺寸的大小,是为了适配不同分辨率的手机而设计的

    使用插件修改应用程序的名称

    插件地址:https://pub.dev/packages/flutter_app_name

    安装插件

    在项目中找到 pubspec.yaml 文件,添加内容如下

    dev_dependencies:
      flutter_test:
        sdk: flutter
      
      # 添加插件
      flutter_app_name: ^0.1.0
    
    # 为插件设置参数
    flutter_app_name:
      name: "演示程序"
    

    执行命令并生成应用程序的名称

    # 拉取插件
    flutter pub get
    # 生成应用程序的名称
    flutter pub run flutter_app_name
    

    使用插件修改应用程序的图标

    插件地址:https://pub.dev/packages/flutter_launcher_icons

    安装插件

    在项目中找到 pubspec.yaml 文件,添加内容如下

    dev_dependencies:
      flutter_test:
        sdk: flutter
      
      # 添加插件
      flutter_launcher_icons: "^0.9.2"
    
    # 为插件设置参数
    flutter_icons:
      android: "launcher_icon"
      ios: true
      image_path: "assets/icon/icon.png"
    

    注意:准备一张 1024x1024png 图片,取名为 icon.png 并把它放在 assets/icon 目录中

    执行命令并生成应用程序的图标

    # 拉取插件
    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/dabolau/snap/flutter/.pub-cache/hosted/pub.flutter-io.cn/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
    
    解决办法

    找到 ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.9.2/lib/android.dart 文件修改内容如下

    // 原有内容
    // final String minSdk = line.replaceAll(RegExp(r'[^\d]'), '');
    // 替换内容
    final String minSdk = "21";
    

    注意:如果使用了镜像地址就找到 ~flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_launcher_icons-0.9.2/lib/android.dart 文件来修改以上内容

    解决办法参考地址

    https://github.com/fluttercommunity/flutter_launcher_icons/issues/324

    相关文章

      网友评论

          本文标题:Flutter 修改应用程序的名称和图标

          本文链接:https://www.haomeiwen.com/subject/mcloertx.html