如何使用Flutter更改应用程序显示名称?

我已经使用Flutter create testapp创建了应用程序。 现在,我想更改应用程序的名称从"testapp"转到“My Trips tracker”。我该怎么做呢?< / p >

我已经尝试从AndroidManifest.xml改变,它被改变了,但有一种方法,颤振提供这样做?

280891 次浏览

更新:从评论来看,这个答案似乎已经过时了

Flutter文档指出了可以在Android和iOS上更改应用程序显示名称的位置。这可能就是你想要的:

  • < a href = " https://flutter。io/ Android - Release /" rel="noreferrer">准备Android应用发布 . io/ Android - Release /" rel="noreferrer
  • < a href = " https://flutter。/a> . io/ iOS - Release /" rel="noreferrer">准备发布iOS应用 . io/ iOS - Release /" rel="noreferrer">准备发布iOS应用

为安卓

似乎你已经在AndroidManifest.xml中找到了这个application条目。

查看AndroidManifest.xml所在的默认应用程序清单文件 / android / app / src / main /和验证值是正确的, 特别是:< / p >

应用程序:编辑应用程序标记中的android:标签以反映对象的最终名称 应用。< / p >

为iOS

参见Review Xcode project settings部分:

在Xcode中导航到你的目标设置:

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

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

选择一般选项卡。接下来,您将验证最重要的内容 设置:< / p >

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

你可以在iOS中修改它,而不需要打开Xcode,只需编辑project/ iOS /Runner/info。plist <key>CFBundleDisplayName</key>到你想要作为你的名字的字符串。

FWIW -我在Xcode和Flutter中进行更改时感到沮丧,所以我开始在打开Xcode之前提交所有更改,这样我就可以看到更改在Flutter项目中的位置。

一个问题是,在iOS设置(iOS 12.x)中,如果你改变了显示名称,它会让iOS设置中的应用程序名称和图标保持旧版本。

  • 查看默认的应用程序清单文件,AndroidManifest.xml,位于<app dir>/android/app/src/main

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

安卓

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

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

iOS

打开info.plist(位于ios/Runner)

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

enter image description here


不要忘记停止并再次运行应用程序。

对于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>

有一个名为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.xmlInfo.plist相同的结果。

截至2019-12-21,您需要更改文件pubspec.yaml中的名称[NameOfYourApp]。然后转到菜单编辑找到替换路径,并替换所有出现你以前的名字。

此外,为了更好地衡量,更改你的安卓目录下的文件夹名称,例如android/app/src/main/java/com/example/yourappname

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

flutter clean

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

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

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

所以,我修改如下:

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

然后一切都应该以flutter run方式工作。

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

你可以通过编辑文件*project/ iOS /Runner/info.plist在iOS中修改它,而不需要打开Xcode。将<key>CFBundleDisplayName</key>设置为你想要作为你的名字的字符串。

对于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>

有几种可能性:

1-包装的使用:

我建议您使用flutter_launcher_name,因为命令行工具简化了更新您的Flutter应用程序的启动器名称的任务。

用法:

将您的Flutter Launcher名称配置添加到您的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.xmlInfo.plist

2-编辑Android的AndroidManifest.xml和iOS的info.plist

对于安卓,编辑位于文件夹:android/app/src/main的文件AndroidManifest.xml中的应用程序标记中的只有 android:label

代码:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:name="io.flutter.app.FlutterApplication"
android:label="Your Application Name"  //here
android:icon="@mipmap/ic_launcher">
<activity>
<!--  -->
</activity>
</application>
</manifest>

截图:

Enter image description here

对于iOS,编辑文件夹ios/Runner中的文件Info.plist字符串标记内的值只有

代码:

<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>Your Application Name </string>  //here
</dict>
</plist>

截图:

Enter image description here

如果遇到问题,执行flutter clean并重新启动应用程序。

< >强第一 重命名AndroidManifest.xml文件

android:label="Your App Name"

< >强第二 在Pubspec中重命名应用程序名称。yaml文件 name: Your Application Name < / p >

<强>第三 更改应用程序的logo

flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/path/your Application logo.formate"

< >强第四 运行< / p >

flutter pub pub run flutter_launcher_icons:main

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

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

  1. 设置您的开发依赖项和应用程序的名称
dev_dependencies:
flutter_app_name: ^0.1.1


flutter_app_name:
name: "My Cool App"
  1. 在项目目录下运行flutter_app_name
flutter pub get
flutter pub run flutter_app_name

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

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

对于安卓

只要打开AndroidManifest.xml文件,

进入到AndroidManifest.xml内部的app>src>main>

< p >: - enter image description here < / p >

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

iOS相同 打开Info.plist文件,

进入ios>Runner>Info.plist内部

< p >: - enter image description here < / p >

改变这个字符串值。

嗨,我确实看到了手动解决方案(转到IOS和Android)。 但我发现了一个插件,可以从一个单一的位置更改名称:

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

完成了。

你可以很容易地用重命名包做到这一点,它可以帮助你改变你的Flutter项目的AppName和BundleId为不同的平台,目前适用于IOS, Android, macOS和Web

  • 使用实例安装软件包。
pub global activate rename
  • 重命名应用程序,使用以下命令:
pub global run rename --appname "Your App Name"

就是这样!


你可以检查包的文档以获得完整的细节,因为它有一些不错的功能来选择目标平台等。

如果你发布的是多本地化(语言)。

为Android:

在你的应用程序文件夹在 android(浏览器名称)\ \ app \ src \ \ res 添加locale文件夹,例如:

values-ar

valuse-en

然后在每个文件夹中添加一个新的strings.xml,其中包含该语言的应用程序名称。

对于基于“增大化现实”技术

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="app_name">ادارة الديون</string>
</resources>

对于

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="app_name">debt management</string>
</resources>
你能做的最后一件事是转到你的AndroidManifest.xml文件 并将android:标签设置为您创建的新文件
android:label="@string/app_name"

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

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