如何使用flutter更改应用的显示名称构建?


131

我已经使用flutter create testapp创建了应用程序。现在,我想将应用程序名称从“ testapp”更改为“ My Trips Tracker”。我怎样才能做到这一点 ?

我尝试从AndroidManifest.xml和更改,但更改了,但是flutter提供了一种方法来做到这一点吗?


2
清单是更改“设置”应用中显示的名称和启动器图标上显示的名称的唯一方法。
CommonsWare

对于有视觉感的人,此视频将向您展示整个过程youtube.com/watch?v=05twEATiS44
无限循环

Answers:


114

更新:从评论此答案似乎已过时

Flutter文档指出了可以在其中更改Android和iOS应用程序的显示名称的地方。这可能是您要寻找的:

对于Android

看来您已经在AndroidManifest.xmlapplication条目中找到了这个。

查看位于 / android / app / src / main /的默认App Manifest文件AndroidManifest.xml并验证值是否正确,尤其是:

application:编辑应用程序标签以反映应用程序的最终名称。

对于iOS

请参阅以下Review Xcode project settings部分:

导航到Xcode中目标的设置:

在Xcode中,在应用程序的ios文件夹中打开Runner.xcworkspace

要查看应用程序的设置,请在Xcode项目导航器中选择Runner项目。然后,在主视图侧栏中,选择Runner目标。

选择常规选项卡。接下来,您将验证最重要的设置:

显示名称:要在主屏幕和其他地方显示的应用程序的名称。


14
是的,谢谢您的回答。我知道这样做的本机方法。我只是好奇地想知道颤振是否可以从单个角度处理它。
rajaishwary18年

2
这些是执行此操作的本机方法。我想知道颤振是否从单一角度处理?
Pankaj Bansal

2
@AshtonThomas我可以更改此设置,但在清理重建等之后,运行应用程序重置其值,我该如何保留它?(据我了解,清理构建后会重新创建运行器项目)
Johnykutty,

4
如果在运行器项目中更改显示名称,它将停止工作。它必须是“ Runner”。显然,只需要更改pubspeck.yaml文件上的名称和版本数据,如果android和ios应用程序具有不同的版本或名称本地化,这将非常不方便
Dpedrinha

8
对于iOS,这是不正确的。应该在Info.plist中更改CFBundleName。Flutter将找不到该应用程序,因为它将查找Runner.app,如果在Xcode中对其进行更改,情况将不再如此。
pjotr_dolphin

212

安卓系统

打开AndroidManifest.xml(位于android/app/src/main

<application
    android:label="App Name" ...> // Your app name here

的iOS

打开info.plist(位于ios/Runner

<key>CFBundleName</key>
<string>App Name</string> // Your app name here

别忘了跑步

flutter clean

1
对于Android,这不起作用。尝试从<OldName>更改为<NewName>时,错误消息为:Manifest merger failed : Attribute application@label value=(OldName) from AndroidManifest.xml:21:9-32 is also present at AndroidManifest.xml:21:9-32 value=(NewName).。你有什么建议?
iKK

4
您的项目中可能有多个AndroidManifest.xml文件,您必须打开位于的文件android/app/src/main
CopsOnRoad

谢谢,就是这样!我在调试下有另一个Manifest.xml。现在可以了!
iKK

2
似乎是各种碎了最新的iOS更新和/或卡塔利娜更新和/或扑更新。我不知道。现在更改此设置将破坏部署,因为它将<appname> .app文件夹从一致的Runner.app重命名为您在显示名称中输入的名称,然后“ flutter run”中断。现在,如果要更改它,请在YAML文件中命名name:<value>键,然后对程序包名称进行全局搜索/替换。(叹气)
ChrisH

1
@ChrisH我正在运行所有版本的更新版本,它确实按预期工作。
CopsOnRoad

27

您可以在iOS中进行更改,而无需打开Xcode,只需将project / ios / Runner / info.plist编辑为<key>CFBundleDisplayName</key>您想要用作名称的String即可。

FWIW-我对在Xcode和Flutter中进行更改感到沮丧,因此我在打开Xcode之前开始提交所有更改,因此我可以看到更改在Flutter项目中的显示位置。


20

有一个插件。

https://pub.dev/packages/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

您可以获得与编辑AndroidManifes.xml和相同的结果Info.plist


2
真好!我将测试插件。但是据我所知,如果您从“ Runner”更改info.plist文件上的显示名称,则该应用程序将停止编译。它必须是“跑步者”。
Dpedrinha

1
对不起,它不起作用。就像Dpedrinha所说的,它必须是“跑步者”。
Mi Be

它为我工作。但我需要删除该应用程序并在运行后重新安装:flutter pub run flutter_launcher_name:main
Jorge Wander SantanaUreña

还有一个插件可以替换图标pub.dev/packages/flutter_launcher_icons
Katu

12
  • 查看AndroidManifest.xml位于以下位置的默认应用清单文件<app dir>/android/app/src/main

  • 编辑android:label您想要的显示名称


4

一个问题是,在iOS设置(iOS 12.x)中,如果更改了显示名称,则会在iOS设置中将应用名称和图标保留为旧版本。


2
对我有帮助的是:转到“信息”标签,然后更改“捆绑包名称”。
米要

2

对于android,请从Android文件夹中的AndroidManifest.xml文件中更改应用程序名称,android/app/src/main让android标签引用您喜欢的名称,例如。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
`android:label="myappname"`
//the rest of the code
 </application>
</manifest>

2

从2019/12/21开始,您需要更改名称:pubspec.yaml中的[NameOfYourApp]。然后转到“编辑”>“查找”>“在路径中替换”,并替换所有出现的您的旧名字。

另外,出于很好的考虑,请更改android目录中的文件夹名称,例如android> app> src> main> java> com> example> yourappname。

然后在控制台的应用程序的根目录中运行

flutter clean

2
我不知道你是如何把显示名称pubspec与所有的空格,西里尔字母等
АлександрБабич

0

在文档中明确提到的更改ios和android名称的方法如下:

https://flutter.dev/docs/deployment/android https://flutter.dev/docs/deployment/ios

但是,从ios更改Xcode的显示名称后的ios,您将无法以浮动方式运行应用程序,例如 flutter run

因为运行颤抖时期望应用程序名称为Runner。即使您在Xcode中更改名称也不起作用。

因此,我将其修复如下:

移至flutter项目中的位置

ios / Runner.xcodeproj / project.pbxproj并使用Runner查找并替换您的新名称

那么一切都应该flutter run顺利进行

但不要忘记在下次发布时更改名称显示名称。否则,AppStore拒绝您的名字。


-1

您可以在iOS中进行更改,而无需打开Xcode,只需将project / ios / Runner / info.plist编辑为<key>CFBundleDisplayName</key>您想要用作名称的String即可。对于android,从Android文件夹中的AndroidManifest.xml文件android / app / src / main中更改应用名称,让android标签引用您喜欢的名称,例如。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
`android:label="test"`
//the rest of the code
 </application>
</manifest>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.