我已经使用Flutter create testapp创建了应用程序。 现在,我想将应用程序名称从“testapp”更改为“My Trips Tracker”。我该怎么做呢?

我已经尝试从AndroidManifest.xml进行更改,它已经更改,但是Flutter提供了一种方法来做到这一点吗?


当前回答

它可以帮助您更改您的Flutter项目的AppName和BundleId为不同的平台,目前适用于IOS, Android, macOS和Web

使用实例安装软件包。

pub global activate rename

重命名应用程序,使用以下命令:

pub global run rename --appname "Your App Name"

就是这样!


您可以查看包的文档以获得完整的详细信息,因为它有一些不错的功能,可以选择目标平台等。

其他回答

您可以通过更新Android和iOS的名称来更改应用程序名称

为安卓

打开AndroidManifest.xml文件,

进入android>应用程序>src>main>AndroidManifest.xml

像这样:

所以我的应用程序名称是“demo”,所以,我将更新标签值。

与iOS相同 只要打开信息。Plist文件by,

进入ios>Runner>Info.plist

像这样:

改变这个字符串值。

这里的一些答案建议使用包flutter_launcher_name,但是这个包不再被维护,并且会在新的Flutter 2.0项目中导致依赖关系问题。

插件flutter_app_name (https://pub.dev/packages/flutter_app_name)是一个几乎相同的包,具有良好的零安全,可以与Flutter 2.0一起工作。

设置您的开发依赖项和应用程序的名称

dev_dependencies:
  flutter_app_name: ^0.1.1

flutter_app_name:
  name: "My Cool App"

在项目目录下运行flutter_app_name

flutter pub get
flutter pub run flutter_app_name

你的启动器现在的名称将是“My Cool App”。

有一个名为flutter_launcher_name的插件。

写文件pubspec.yaml:

dev_dependencies:
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"

并运行:

flutter pub get
flutter pub run flutter_launcher_name:main

你可以得到与编辑AndroidManifest.xml和Info.plist相同的结果。

如果你像我一样喜欢从命令行自动化一些东西,你可以使用这个

appName="TestApp"
declare -a androidAppTypes=(
    "main"
    "debug"
    "profile"
)

# Change app name for Android
for appType in ${androidAppTypes[@]}
do
    xmlstarlet ed -L -u '/manifest/application/@android:label' -v "$appName" android/app/src/$appType/AndroidManifest.xml
done

# Change app name for Android
plutil -replace CFBundleDisplayName -string "$appName" ios/Runner/Info.plist

iOS和Android版本的名称修改方法在文档中有明确说明:

开发并发布一款Android应用 创建并发布iOS应用

但是,在iOS的情况下,当你从Xcode中更改显示名称后,你不能以Flutter的方式运行应用程序,比如Flutter run。

因为Flutter运行期望应用程序名称为Runner。即使你在Xcode中改变了名字,它也不起作用。

所以,我修改如下:

移动到Flutter项目的位置,ios/Runner.xcodeproj/project。pbxproj,并用Runner查找并替换新名称的所有实例。

然后一切都应该在颤振运行方式工作。

但是不要忘记在下次发布时更改名称显示名称。否则,App Store会拒绝你的名字。