Flutter项目修改包名、图标、生成多端Logo

一、修改包名

对于 Android

  1. 更改 AndroidManifest.xml 文件中的包名:

    • 找到项目目录下的 android/app/src/main/AndroidManifest.xml
    • 修改 <manifest> 标签中的 package 属性为新的包名。
  2. 修改 build.gradle 文件:

    • 打开 android/app/build.gradle
    • 找到 applicationId 并更改为新的包名。
  3. 重命名包目录:

    • android/app/src/main/kotlinjava 目录下,根据原包名找到相应的目录结构。
    • 将目录结构重命名为新的包名对应的结构。
  4. 更新包引用:

    • 如果有任何 Kotlin/Java 文件包含旧的包名引用,需要更新这些引用为新的包名。(如果需要的话)

对于 iOS

  1. 修改 Info.plist 中的 Bundle Identifier:

    • 打开 ios/Runner/Info.plist
    • 修改 CFBundleIdentifier 的值为新的包名。
  2. 使用 Xcode 更改项目配置:

    • 打开 iOS 目录下的 Runner.xcworkspace 文件。(就是先在Finder中打开**Runner.xcworkspace所在的文件夹,然后双击它,mac系统下会自动用xcode打开它**)
    • 双击后 Xcode Runner.xcworkspace ,选择项目根节点(顶部的Runner),然后在 General 标签页中找到 Bundle houdentifier 并修改。(点击箭头,就可以修改)

3. 重命名 Swift 或 Objective-C 桥接文件(如有,如果需要):

diff 复制代码
-   如果项目中包含 Swift 或 Objective-C 的桥接文件,需要确保其包名也进行相应的更新。

最后步骤

  • 清理和重建项目:

    • 在 Flutter 项目根目录运行 flutter clean
    • 然后运行 flutter pub get
  • 测试应用:

    • 编译并运行应用,确保一切正常。

运行一下,基本到这就可以了。(如果不行,可以考虑下结合一下命令 Flutter create --com.your.packagename


二、修改App名称

对于 Android:

老板本

  1. 打开你的 Flutter 项目。

  2. 导航到 android/app/src/main/res/values/strings.xml

  3. 修改 <string name="app_name">YourAppName</string> 中的 YourAppName 为你想要的应用名称。

    xml 复制代码
    xmlCopy code
    <resources>
        <string name="app_name">New App Name</string>
    </resources>

新版本

但是呢,对于新版的Android studio新建的Flutter项目,安卓下并没有string文件,这时。

打开 android/app/src/main/AndroidManifest.xml 手动修改application标签下的label的值,也可以修改app名称。


对于 iOS:

  1. 在 Flutter 项目中,导航到 ios/Runner/Info.plist

  2. 找到 <key>CFBundleName</key> 和其下方的 <string> 标签。

  3. 修改 <string> 标签中的值为你的新应用名称。

    vbnet 复制代码
    xmlCopy code
    <key>CFBundleName</key>
    <string>New App Name</string>

三、修改图标

常规的,这里不展开。

说一下使用 flutter_launcher_icons: ^0.13.1 的修改图标吧

yaml 复制代码
dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_launcher_icons: ^0.13.1

flutter_launcher_icons:
  android: "launcher_icon"
  ios: true
  image_path: "assets/icons/launcher_ios.png"

注意:

  • 1、 flutter_launcher_iconsdev_dependencies 是同级别的,不是从属关系
  • 2、这里图片名字写着launcher_ios,不是说固定的,你也可以写别的名字,跟ios没关系的。只要确保assets/icons下有对应图片即可。

执行命令

arduino 复制代码
flutter packages get
flutter pub run flutter_launcher_icons:main

到这里,就可以了。运行可查看效果。

题外话,顺便附上原版的教程 (pub.dev/packages/fl...

yaml 复制代码
dev_dependencies:
  flutter_launcher_icons: "^0.13.1"

flutter_launcher_icons:
  android: "launcher_icon"
  ios: true
  image_path: "assets/icon/icon.png"
  min_sdk_android: 21 # android min sdk min:16, default 21
  web:
    generate: true
    image_path: "path/to/image.png"
    background_color: "#hexcode"
    theme_color: "#hexcode"
  windows:
    generate: true
    image_path: "path/to/image.png"
    icon_size: 48 # min:48, max:256, default: 48
  macos:
    generate: true
    image_path: "path/to/image.png"

END

相关推荐
秦jh_36 分钟前
【Linux】多线程(概念,控制)
linux·运维·前端
蜗牛快跑2131 小时前
面向对象编程 vs 函数式编程
前端·函数式编程·面向对象编程
Dread_lxy1 小时前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js
涔溪2 小时前
Ecmascript(ES)标准
前端·elasticsearch·ecmascript
榴莲千丞2 小时前
第8章利用CSS制作导航菜单
前端·css
奔跑草-2 小时前
【前端】深入浅出 - TypeScript 的详细讲解
前端·javascript·react.js·typescript
羡与2 小时前
echarts-gl 3D柱状图配置
前端·javascript·echarts
guokanglun2 小时前
CSS样式实现3D效果
前端·css·3d
咔咔库奇2 小时前
ES6进阶知识一
前端·ecmascript·es6
渗透测试老鸟-九青3 小时前
通过投毒Bingbot索引挖掘必应中的存储型XSS
服务器·前端·javascript·安全·web安全·缓存·xss