【发布时间】:2017-10-11 17:22:19
【问题描述】:
是否可以更改 Flutter 项目的项目名称?项目名称是指您在创建flutter项目时提供的名称flutter create name。
【问题讨论】:
标签: flutter
是否可以更改 Flutter 项目的项目名称?项目名称是指您在创建flutter项目时提供的名称flutter create name。
【问题讨论】:
标签: flutter
这取决于您要达到的目标。如果要更改手机菜单中显示的应用程序名称以及应用程序图标,则必须更改android/app/src/main/AndroidManifest.xml中的android:label(代码示例1)和@中的CFBundleName 987654324@(代码示例 2)。
上次我这样做时,我花了很长时间才发现,为什么在 Android 上当前运行的应用程序列表中没有更改应用程序的名称。为此,您还需要更改 MaterialApp 的标题(代码示例 3)。
为了在任何地方重命名它,我建议在项目中使用搜索和替换。如果这样做,您必须选择一个没有空格或特殊字符的名称。例如,pubspec.yaml 中的项目名称“新项目”将破坏构建。
代码示例 1:
<application
android:name="io.flutter.app.FlutterApplication"
android:label="New Name"
android:icon="@mipmap/ic_launcher">
代码示例 2:
<key>CFBundleName</key>
<string>New Name</string>
代码示例 3:
return new MaterialApp(
title: 'New Name'
...);
【讨论】:
import "package:projectname/..." 语句)时,我仍然会收到错误消息,指出无法构建我的依赖关系树。还有什么要改名的吗? (我也在重命名项目文件夹)。
要更改项目名称,您需要为所有平台更改它。
您可以使用 rename 包来简化操作。
在您的 Flutter 项目根目录中运行此命令
pub global run rename --appname "Application Name"
您还可以指定要应用更改的平台
pub global run rename --appname yourappname -t macOS // support also ios and android
或
编辑AndroidManifest.xml for Android 和info.plist for iOS
如果您遇到问题,请发送flutter clean 并重新启动您的应用程序。
【讨论】:
要添加到 Rainer 的答案,您可能还必须更改 android/app/build.gradle 下的 com.example.myprojectname 文件
对于 com.example.myprojectname,也不要使用下划线(即: com.example.my_project_name)
您可能还需要在文件 project.pbxproj 和 MainActivity.java 中查找并替换 com.example.myproject 名称。
【讨论】:
如果您想更改项目名称,只需在所有这些文件中进行更改即可。
build.gradle(应用)AndroidManifest.xmlMainActivity.java重建您的应用程序,您应该一切顺利。
【讨论】:
Refactor > Rename...。该对话框将帮助您重命名所需的所有内容,并让您查看将要更改的内容。
使用终端:
cd /path/to/existing/flutter_project
flutter create --project-name newprojname --org com.yourorgdomain .
接下来在 pubspec.yaml
的第 1 行更改名称删除所有生成的文件夹以删除旧项目名称的所有引用。
NB - 一些导入语句需要有它们的包引用 手动更新为新名称。审查项目结构(在 您的 IDE)用于对 IDE 中旧项目名称的任何引用 生成的文件。
使用项目文件夹中的flutter create .(包括末尾的空格和句点)重新创建已删除的生成文件。
现在运行flutter clean,然后正常调试
您应该期望项目名称仍然存在于为各种环境和 cmets/strings 生成的所有文件夹中。您可以使用工具搜索项目或文件夹结构中的所有文件(例如,Android Studio 中的 Cmd + Shift + F 或 Homebrew 中的 ag {the_silver_searcher})以查找旧名称并丢弃任何生成的文件夹,包括 ios、windows、linux。删除生成的文件夹后,记得运行flutter create . 重新创建它们
【讨论】:
如果您使用的是 Android Studio,请按照以下步骤操作:
这将在除测试目录之外的所有必需位置重命名项目的名称。
【讨论】:
重命名项目的步骤:(适用于具有跨项目搜索和替换功能的编辑器)
match cases(对于vscode:位于右侧)。
com.orgname.currentname 替换为 com.orgname.newname 然后currentname 和 newname。/android/app/src/main/kotlin/com/orgname/currentname 中的文件夹重命名为新的/android/app/src/main/kotlin/com/orgname/newname。kotlin 替换为 java。currentname.iml 重命名为newname.iml
【讨论】:
Ctrl+Shift+R 然后替换进行一一替换
或一次全部替换。
请注意,如果您的项目名称与其他变量或类名称相似,请不要这样做。在进行两次检查之前。
【讨论】:
1-flutter clean
2- 搜索并用NEW_PROJECT_NAME替换所有OLD_PROJECT_NAME
3- 在项目文件夹中搜索OLD_PROJECT_NAME,并一一替换为NEW_PROJECT_NAME。其中一些在文本文件中,请确保您也已更改它们。
【讨论】: