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

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


当前回答

安卓

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

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

iOS

开放的信息。plist(位于ios/Runner)

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

和/或


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

其他回答

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

为Android:

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

values-ar

瓦卢斯恩

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

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

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

for和

<?xml version="1.0" encoding="UTF-8"?>
    <resources>
        <string name="app_name">debt management</string>
    </resources>

你能做的最后一件事是到你的AndroidManifest.xml文件 并将android:标签设置为您创建的新文件。

android:label="@string/app_name"

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

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

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

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会拒绝你的名字。

自2019年12月21日起,您需要更改pubspec.yaml文件中的名称[NameOfYourApp]。然后转到“路径”中的“编辑→查找→替换”菜单,替换之前出现的所有名字。

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

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

flutter clean