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

相关推荐
y先森34 分钟前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy34 分钟前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu108301891137 分钟前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿2 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡3 小时前
commitlint校验git提交信息
前端
虾球xz3 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇3 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒3 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员4 小时前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js
野槐4 小时前
前端图像处理(一)
前端