问答中心分类: ANDROID如何更改Android应用程序的名称?
0
匿名用户 提问 3月 前

有没有办法在不创建新项目的情况下更改应用程序的名称(启动器应用程序标签)?
注意:应用程序的名称和手机主屏幕上启动器图标上显示的标签可能不同。
示例:在我手机的主页上,我的应用程序所在的位置有一个图标和一个名字Foo,但我想把这个名字改为Bar。我能做这个吗?

20 Answers
0
MByD 回答 3月 前

是的,你可以。通过改变android:label中的应用程序节点中的字段AndroidManifest.xml.
注意:如果您添加了启动画面并补充道

<activity
    android:name=".SplashActivity"
    android:label="@string/title_activity_splash_screen"
    android:theme="@style/AppTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

到您的启动屏幕,然后启动器图标名称将更改为启动屏幕类名的名称。
请确保更改标签:

android:label="@string/title_activity_splash_screen"

在你的闪屏活动在你的控制之下。xml文件。它可以在Res->Values->strings中找到。xml
查看更多在这里.

Michael Reed 回复 3月 前

对于任何完全的初学者,你可能会发现这个“android:label=“@string/app_name””。在/res/values/strings中。xml您将找到字符串app_name的定义:你的应用程序名.希望这能为刚开始的人节省一点时间。

Wandang 回复 3月 前

我有<string name="app_name">myname</string>在我的控制之下。xml并在我的清单中使用它:android:label="@string/app_name".即使在卸载之后,我仍然保留着我的旧developername(SplashActivity)(当我需要确认卸载时,它被命名为“myname”)

Azurespot 回复 3月 前

感谢@MichaelReed,这对初学者来说也很好,不建议将@string/app_名称更改为实际名称。你会收到一条黄色警告,告诉你使用@string/some_name,不要在该字段中“硬编码”(写实际名称)。相反,正如您所说,找到实际的应用程序名称并在字符串中编辑它。xml文件。

lxknvlk 回复 3月 前

android:标签不是主屏幕上显示的内容。

Ruchir Baronia 回复 3月 前

嘿,我有个问题。在添加启动屏幕并移动控制哪个应用程序首先启动的意图过滤器后,我的应用程序名称已更改为首先启动的活动的名称。我试过你的答案,但还是不走运。我该怎么办?非常感谢!

Sam 回复 3月 前

@lxknvlk,根据我在Android 5和5.1上的测试,这个答案中提到的名称显示在安装的应用程序列表、卸载对话框和应用程序的“应用程序信息”屏幕中。如果您想自定义启动器或主屏幕中显示的名称,请尝试更改android:label属性设置在您的启动器活动上。

Sam 回复 3月 前

@RuchirBaronia,你在哪里看到最先开始的活动的名称?在发射器里?在应用程序信息屏幕中?在卸载对话框中?在下载/安装的应用程序列表中?

Sam 回复 3月 前

在我的三星Galaxy S5上,我不得不在新名字出现之前关闭设置应用程序或重启手机。

Ruchir Baronia 回复 3月 前

@应用程序主屏幕中的Sam

Sam 回复 3月 前

@RuchirBaronia,你是指手机的主屏幕,还是指应用程序中的主屏幕?如果你为此提出一个新的Stackoverflow问题,并包含所有细节,可能会有所帮助。

Ruchir Baronia 回复 3月 前

@山姆打开手机的主屏幕

Caterpillaraoz 回复 3月 前

@MichaelReed为您添加评论——在一些启动器或最新版本的android studio中,图标下显示的名称是应用程序主屏幕的标签,而不是标签本身。被chanche发现,省去了很多头痛。

0
Steve Hansen Smythe 回答 3月 前

应用程序有android:label,发布活动有android:label。前者是您在设备上的“设置->应用程序->管理应用程序”下看到的内容。后者是您在应用程序下看到的内容,并延伸到应用程序的任何快捷方式,例如。

<application
    android:label="@string/turns_up_in_manage_apps" >
    <activity
        android:name=".MainActivity"
        android:label="@string/turns_up_in_shortcuts" >
        ...
    </activity>
</application>
Rahul Iyer 回复 3月 前

这应该是公认的答案。你能解释一下这个项目的目的吗串串。那么xml呢?

ivanleoncz 回复 3月 前

+1用于提及字符串资源的使用(例如:android:label=“@String/turns_up_in_manage_apps”),而不是硬编码字符串。根据Android Studio的说法:直接在布局文件中硬编码文本属性是不好的,原因有几个:**在创建配置变体(例如横向或纵向)时,必须重复实际文本(并在进行更改时保持最新)***仅通过为现有字符串资源添加新的翻译,无法将应用程序翻译为其他语言。

0
longcrystal 回答 3月 前

这在Android Studio中很简单,
转到:res文件夹->值->字符串。xml
将app_名称(在下面的示例中:MitsuhoSdn Bhd)更改为您想要的任何新名称。

<string name="app_name">MitsuhoSdn Bhd</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
0
Neoh 回答 3月 前

我注意到应用程序名在棒棒糖设备中出现的方式存在一些差异。在使用棒棒糖之前,您可以使用以下应用程序名:

<application
    android:label="@string/app_name"> // appears in manage app info
    <activity
        android:name=".MainActivity"
        android:label="@string/action_bar_title"> // appears in actionbar title 
        <intent-filter android:label="@string/name_in_icon_launcher"> // appears in icon launcher
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
...

在棒棒糖中,它是这样的:

<application
    android:label="@string/name_in_manage_app_info">
    <activity
        android:name=".MainActivity"
        android:label="@string/name_in_actionbar_and_icon_launcher">
        <intent-filter android:label="@string/this_is_useless">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

在棒棒糖中,android:labelin-intent过滤器基本上是无用的,而actionbar标题和图标启动器是相同的。所以,如果你想在actionbar中使用不同的标题,你别无选择,只能动态设置

getSupportActionBar().setTitle(R.string.app_name);
0
darkzangel 回答 3月 前

您可能还需要更改主要活动“android:label”的名称,如中所述用android命名我的应用程序