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

相关推荐
哆啦A梦15881 小时前
axios 的二次封装
前端·vue.js·node.js
阿珊和她的猫1 小时前
深入理解与手写发布订阅模式
开发语言·前端·javascript·vue.js·ecmascript·状态模式
yinuo1 小时前
一行 CSS 就能搞定!用 writing-mode 轻松实现文字竖排
前端
snow@li2 小时前
html5:拖放 / demo / 拖放事件(Drag Events)/ DataTransfer 对象方法
前端·html·拖放
LinXunFeng3 小时前
Flutter webview 崩溃率上升怎么办?我的分析与解决方案
flutter·ios·webview
浪裡遊3 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
漂流瓶jz4 小时前
快速定位源码问题:SourceMap的生成/使用/文件格式与历史
前端·javascript·前端工程化
samroom4 小时前
iframe实战:跨域通信与安全隔离
前端·安全
fury_1235 小时前
vue3:数组的.includes方法怎么使用
前端·javascript·vue.js
weixin_405023375 小时前
包资源管理器NPM 使用
前端·npm·node.js