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

raj*_*ary 43 dart flutter

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

我已经尝试从AndroidManifest.xml进行更改并且它已经改变了但是有没有一种方法可以实现这一点?

Cop*_*oad 58

安卓系统

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

<application
    android:label="App Name" ...> // Your app name here
Run Code Online (Sandbox Code Playgroud)

的iOS

打开info.plist(位于ios/Runner

<key>CFBundleName</key>
<string>App Name</string> // Your app name here
Run Code Online (Sandbox Code Playgroud)

  • 你的项目中可能有多个 `AndroidManifest.xml` 文件,你必须打开位于 `android/app/src/main` 的那个。 (6认同)
  • 对于 Android,这不起作用。尝试从 &lt;OldName&gt; 更改为 &lt;NewName&gt; 时,错误消息显示:“清单合并失败:AndroidManifest.xml:21:9-32 中的属性 application@label value=(OldName) 也出现在 AndroidManifest.xml:21 中” :9-32 值=(新名称).`。你有什么建议? (2认同)
  • 这*似乎*与最新的 IOS 更新和/或 Catalina 更新和/或 Flutter 更新有关。我不知道。现在更改此设置会破坏部署,因为它将 &lt;appname&gt;.app 文件夹从一致的 Runner.app 重命名为您输入的显示名称,然后“flutter run”会中断。现在,如果您想更改它,您可以在 YAML 文件中命名 name:&lt;value&gt; 键,然后对包名称进行全局搜索/替换。(叹) (2认同)

Ash*_*mas 50

Flutter文档指出了您可以在哪里更改Android和iOS应用程序的显示名称.这可能是您正在寻找的:

对于Android

看来你已经AndroidManifest.xmlapplication条目中找到了这个.

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

应用程序:编辑应用程序标记以反映应用程序的最终名称.

对于iOS

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

导航到Xcode中的目标设置:

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

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

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

显示名称:要在主屏幕和其他位置显示的应用程序的名称.

  • 对于 iOS,这是不正确的。应更改 Info.plist 中的 CFBundleName。Flutter 不会找到该应用程序,因为它会寻找 Runner.app,如果您在 Xcode 中更改它,情况就不再是这样了。 (13认同)
  • 是的,谢谢您的回答。我知道执行此操作的本机方法。我只是想知道颤动是否可以单点处理。 (6认同)
  • 如果您更改运行程序项目中的显示名称,它将停止工作。它必须是“Runner” 显然,只需要更改 pubspeck.yaml 文件上的名称和版本数据,如果 android 和 ios 应用程序有不同的版本或名称本地化,这是非常不方便的 (5认同)
  • 这些是执行此操作的本机方法。我想知道颤振是否从一个点处理它? (4认同)
  • @AshtonThomas 我可以改变这个但是在清理重建等之后,runner 应用程序重置了它的值,我怎么能保持这个?(据我所知,Runner 项目是在清理构建之后重新创建的) (2认同)

小智 34

有一个插件flutter_launcher_name

写入文件pubspec.yaml

dev_dependencies:
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"
Run Code Online (Sandbox Code Playgroud)

并运行:

dev_dependencies:
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"
Run Code Online (Sandbox Code Playgroud)

您可以获得与编辑AndroidManifes.xmlInfo.plist.

  • 该插件未针对 flutter 2.0 进行更新,并且存在依赖性问题 (4认同)
  • 好的!我将测试该插件。但据我所知,如果您将 info.plist 文件上的显示名称从“Runner”更改为“Runner”,则该应用程序将停止编译。必须是‘跑者’。 (2认同)
  • 该插件不再有效,因为它尚未升级到 Flutter 2,因此您将遇到依赖问题。`flutter_app_name` (https://pub.dev/packages/flutter_app_name) 是一个几乎相同的插件,但适用于 Flutter 2.0。 (2认同)

Jac*_*ck' 18

安卓

android/app/src/main/AndroidManifest.xml

<application
    android:label="Display Name" // <---- HERE
Run Code Online (Sandbox Code Playgroud)

iOS 和 macOS

ios/runner/Info.plist

<key>CFBundleDisplayName</key>
<string>Display Name</string> // <---- HERE
Run Code Online (Sandbox Code Playgroud)

视窗

窗口/runner/Runner.rc

BEGIN
    VALUE "CompanyName", "com.company" "\0"
    VALUE "FileDescription", "Display Name" "\0" // <---- HERE
    VALUE "FileVersion", VERSION_AS_STRING "\0"
    VALUE "InternalName", "Display Name" "\0" // <---- HERE
    VALUE "LegalCopyright", "Copyright (C) 2023 com.company. All rights reserved." "\0"
    VALUE "OriginalFilename", "appname.exe" "\0"
    VALUE "ProductName", "Display Name" "\0" // <---- HERE
    VALUE "ProductVersion", VERSION_AS_STRING "\0"
END
Run Code Online (Sandbox Code Playgroud)

windows/CMakeLists.txt(而不是 windows/runner/CMakeLists.txt)

set(BINARY_NAME "appname") // <---- HERE TO CHANGE OUTPUT FILE appname.exe
Run Code Online (Sandbox Code Playgroud)

窗口/跑步者/main.cpp

if (!window.Create(L"Display Name", origin, size)) {
    return EXIT_FAILURE;
}
Run Code Online (Sandbox Code Playgroud)


jes*_*ssi 17

您可以在iOS中更改它而无需打开Xcode,方法是将项目/ ios/Runner/info.plist编辑为<key>CFBundleDisplayName</key>您想要的字符串.

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


Moa*_*waf 14

您可以使用重命名包轻松完成此操作,它可以帮助您为任何您想要的平台更改 Flutter 项目的AppNameBundleId,目前支持所有 6 个平台(Android、IOS、Linux、macOS、Windows 和 Web)。

  • 要安装该软件包,请运行以下命令:
flutter pub global activate rename
Run Code Online (Sandbox Code Playgroud)
  • 要重命名应用程序,请使用以下命令:
flutter pub global run rename setAppName --targets ios,android,macos,windows,linux,web --value "Your App Name"
Run Code Online (Sandbox Code Playgroud)

就是这样!


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


Max*_*355 11

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

该插件flutter_app_namehttps://pub.dev/packages/flutter_app_name)是一个几乎相同的包,具有健全的 null 安全性,并且可以与 Flutter 2.0 一起使用。

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

flutter_app_name:
  name: "My Cool App"
Run Code Online (Sandbox Code Playgroud)
  1. flutter_app_name在你的项目目录中运行
flutter pub get
flutter pub run flutter_app_name
Run Code Online (Sandbox Code Playgroud)

您的启动器现在将具有“My Cool App”的名称。


Kab*_*uda 9

有几种可能:

1- 包的使用:

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

用法:

将您的 Flutter Launcher 名称配置添加到您的pubspec.yaml文件中:

dev_dependencies:
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"
Run Code Online (Sandbox Code Playgroud)

设置好配置后,剩下要做的就是运行包。

dev_dependencies:
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"
Run Code Online (Sandbox Code Playgroud)

如果你使用这个包,你不需要修改文件AndroidManifest.xmlInfo.plist

2-AndroidManifest.xml为 Android 和info.plistiOS编辑

对于Android 编辑位于文件夹中的文件AndroidManifest.xmlandroid:label中的应用程序标记中的值:android/app/src/main

代码:

<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>
Run Code Online (Sandbox Code Playgroud)

截屏:

在此处输入图片说明

对于iOS编辑位于文件夹中的文件Info.plist 中String标记内的值。ios/Runner

代码:

<plist version="1.0">
<dict>
    <key>CFBundleName</key>
    <string>Your Application Name </string>  //here
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

截屏:

在此处输入图片说明

flutter clean如果有问题,请执行并重新启动您的应用程序。


Par*_*iya 9

默认情况下,安装 Flutter 应用程序时,启动器上的应用程序名称是您的 Flutter 项目名称。要在 Android 或 iOS 上将其更改为您想要的应用程序名称,您需要分别更改AndroidManifest.xmlInfo.plist。这是实现这一目标的两种方法

1 通过插件

您可以使用颤振重命名插件。它可以帮助您更改不同平台的 Flutter 项目的 AppName 和 BundleId,目前仅适用于iOSAndroidmacOS

您可以按照以下步骤更改bundleIdappName

默认用法如果您不传递 -t 或 --target 参数,它将尝试重命名 flutter 项目中所有可用的平台项目文件夹。

在 flutter 项目根目录中运行此命令。

pub global run rename --bundleId com.onatcipli.networkUpp
pub global run rename --appname "Test App Name"
Run Code Online (Sandbox Code Playgroud)

如果您想直接运行命令(不使用 pub global run),请确保将 system catche bin 目录添加到您的路径中

rename --appname yourappname -t ios
Run Code Online (Sandbox Code Playgroud)

或者

pub global run rename --appname yourappname --target macOS
Run Code Online (Sandbox Code Playgroud)

要针对特定​​平台,请使用“--target”选项。例如

pub global run rename --bundleId com.example.android.app --target android
Run Code Online (Sandbox Code Playgroud)

2 手动

安卓版

App Name 体现在Android>src>main>Androidmanifest.xml Android manifest 中的标签名称,负责为 Android Application 赋予 App Name

AndroidManifest.xml,找<application> tagandroid:label使用您想要的应用程序名称更改其属性。

导航到:android/app/src/main/AndroidManifest.xml

在此处输入图片说明

现在可以修改 Androidmanifest.xml。选择

<application
  android:name="io.flutter.app.FlutterApplication"
  android:label="YourAppName"
  android:icon="@mipmap/ic_launcher">
Run Code Online (Sandbox Code Playgroud)

对于包名

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">
Run Code Online (Sandbox Code Playgroud)

这部分代表实际的 Android 文件命名系统。可以在此处控制启动器图标和应用程序名称等重要信息。修改android:label 以仅更改应用程序名称。

对于 iOS

对于 iOS,打开info.plist. 更改CFBundleName(捆绑名称)。

转到 Xcode 项目文件夹并打开Info.plist以进行编辑(在 Xcode 中,您可以在文件上下文菜单中选择 Open As > Source Code)。我们需要的只是编辑 的值key CFBundleName。它是捆绑包的用户可见短名称。

导航到:project/ios/Runner/Info.plist

在此处输入图片说明

找到CFBundleName <key>. 这表示保存应用程序名称的密钥。现在可以通过修改<String> </String>以下内容来更改应用程序名称。

<key>CFBundleName</key>
<string>YouAppName</string>
Run Code Online (Sandbox Code Playgroud)

就是这样。通过进行这些更改,当应用程序安装在设备上时,启动器中的应用程序名称已更新。您的新应用名称现在将显示在您的手机上。


Ach*_*yut 7

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

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


Bra*_*med 7

您可以通过编辑文件 *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>
Run Code Online (Sandbox Code Playgroud)


shi*_*kla 7

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

适用于安卓

只需打开AndroidManifest.xml文件,

进入 android>app>src>main>AndroidManifest.xml

像这样:- 在此输入图像描述

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

与iOS相同, 只需打开Info.plist文件,

进入 ios>Runner>Info.plist

像这样:- 在此输入图像描述

并更改该字符串值。


mik*_*n22 5

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

  • 对我有帮助的是:转到“信息”选项卡并更改“捆绑包名称”。 (2认同)

小智 5

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    <application
        `android:label="myappname"`
        // The rest of the code
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)