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/kotlin 或 java 目录下,根据原包名找到相应的目录结构。
    • 将目录结构重命名为新的包名对应的结构。
  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_icons 和 dev_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

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端