如何更改Android应用的名称?


424

是否可以在不创建新项目的情况下更改应用程序的名称(Launcher应用程序标签)?

注意:应用程序的名称和手机主屏幕上启动器图标上显示的标签可以不同。

示例:在我的应用程序所在的移动设备的主页上,我有一个图标和名称Foo,但是我想将其名称更改为Bar。我可以这样做吗?

Answers:


609

是的你可以。通过在以下位置更改android:label应用程序节点中的字段AndroidManifest.xml

注意:如果您已添加启动画面并添加了

<intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

到启动画面,则启动器图标名称将更改为启动画面类名称。

请确保您更改标签:

android:label="@string/title_activity_splash_screen"

在您的strings.xml文件的“ 启动画面”活动中。可以在Res-> Values-> strings.xml中找到

在这里查看更多。


235
对于任何完整的初学者,您可能会发现此“ android:label =“ @ string / app_name””。在/res/values/strings.xml中,您将找到字符串app_name的定义:<string name =“ app_name”>您的应用程序名称</ string>。希望这可以节省一些人刚开始的时间。
迈克尔·里德

12
<string name="app_name">myname</string>在自己的strings.xml中,并在清单中使用它android:label="@string/app_name"。即使卸载后,我仍然拥有旧的开发人员名称(SplashActivity)(当我需要确认卸载时,名称为“ myname”)
Wandang 2013年

1
感谢@MichaelReed,对于初学者来说也很不错,不建议将@ string / app_name更改为实际名称。您会得到一个黄色警告,告诉您使用@ string / some_name,而不要在该字段中“硬编码”(写出实际名称)。就像您所说的那样,找到实际的应用程序名称并在string.xml文件中对其进行编辑。
Azurespot 2014年

1
android:label不是主屏幕上显示的内容。
lxknvlk

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

231

应用程序有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>

2
这应该是公认的答案。还可以然后在strings.xml中解释<string name =“ app_name”>的目的吗?
Kaizer Sozay

1
嘿,我有一个问题。添加启动屏幕并移动意图过滤器(该过滤器控制首先启动哪个应用程序)后,我的应用程序名称已更改为首先启动的活动的名称。我已经尝试过您的答案,但还是没有运气。我该怎么办?非常感谢!
Ruchir Baronia 2015年

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

Android设计有时会非常垃圾。
克里斯·尼夫

60

这在Android Studio中很简单,

转到:res文件夹->值-> strings.xml

将app_name(在下面的示例中:MitsuhoSdn Bhd)更改为所需的任何新名称。

<string name="app_name">MitsuhoSdn Bhd</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>


不幸的是,先前的答案对我不起作用。这一个!
L30nardo SV。

38

我注意到在Lollipop设备中打开应用名称的方式有所不同。在使用Lollipop之前,您可以使用以下不同的应用程序名称:

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

在Lollipop中,android:label意图过滤器基本上是无用的,而动作栏标题和图标启动器是相同的。因此,如果您想在操作栏中使用其他标题,则只能选择动态设置

getSupportActionBar().setTitle(R.string.app_name);

嘿,我有一个问题。添加启动画面并移动意图过滤器(该过滤器控制首先启动哪个应用程序)后,我的应用程序名称已更改为首先启动的活动的名称。我已经尝试过您的答案,但还是没有运气。我该怎么办?非常感谢!
Ruchir Baronia 2015年

15

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


嘿,我有一个问题。添加启动画面并移动意图过滤器(该过滤器控制首先启动哪个应用程序)后,我的应用程序名称已更改为首先启动的活动的名称。我已经尝试过您的答案,但还是没有运气。我该怎么办?非常感谢!
Ruchir Baronia 2015年

9

这取决于您想做什么。我个人想重命名我的项目,这样就不会在应用程序顶部和手机菜单上的图标下方说MainActivity。

为此,我进入了Android Manifest.xml文件并进行了编辑

<activity
        android:name=".MainActitivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

然后编辑android:name=".Mynewname",然后再编辑title_activity_mainstrings.xml文件中的字符串以匹配名称。

希望有帮助!


这是当我们通过Eclipse中的New-> Wizard创建一个新活动时的根本原因。好收获
Siddharth 2012年

奇怪的是,当实际的Application android:label没有修复时,此问题得以解决。
loeschg 2013年

嘿,我有一个问题。添加启动画面并移动意图过滤器(该过滤器控制首先启动哪个应用程序)后,我的应用程序名称已更改为首先启动的活动的名称。我已经尝试过您的答案,但还是没有运气。我该怎么办?非常感谢!
Ruchir Baronia 2015年

9

如果您想在启动器图标下更改应用程序名称,请在“ android:label="@string/app_name" 主启动器”活动标签中进行更改

        <activity android:name="com.test.app"
                  android:label="@string/app_name" >
                  <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                  </intent-filter>
        </activity>

如果您想在其中更改应用名称

设置->应用程序管理器->下载

您已经安装了所有应用程序的位置,然后android:label="@string/app_name" 在应用程序标记中更改此位置

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

            ........

        <activity android:name="com.test.app" >
        </activity>

             .......

 </application>

这很重要-桌面上启动器图标下的名称不是应用程序的名称,而是默认启动器的名称。
杰夫·德格

嘿,我有一个问题。添加启动画面并移动意图过滤器(该过滤器控制首先启动哪个应用程序)后,我的应用程序名称已更改为首先启动的活动的名称。我已经尝试过您的答案,但还是没有运气。我该怎么办?非常感谢!
Ruchir Baronia 2015年

7

AndroidAndroid StudioEclipse中更改应用程序的名称,必须更改android:label<application>节点内定义的属性的值。AndroidManifest.xml

 android:label="My Cool Application!"

默认情况下,应用程序的名称引用到strings.xml文件中定义的字符串,例如:

 android:label="@string/app_name"

因此,我们必须更改strings.xml文件中的值:

  <string name="app_name">My Cool Application!</string>

4
<application
      android:icon="@drawable/app_icon"
      android:label="@string/app_name">
          <activity
            android:name="com.cipl.worldviewfinal.SplashActivity"
            android:label="@string/title_activity_splash" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

</application>

要更改android应用的名称,请转到活动(即启动器活动),并像上面在代码中所做的那样更改其标签。


奇。我也必须为我的新应用程序名称创建一个新的@string,并在使用新名称之前对其进行引用。这可能是Eclipse吗?
Mike Hines 2014年

3

没关系,我找到了。只需在android标签下设置应用程序下的清单文件即可。起初因为没有改变我对应用程序名称的快捷方式而被取消。


嘿,我有一个问题。添加启动画面并移动意图过滤器(该过滤器控制首先启动哪个应用程序)后,我的应用程序名称已更改为首先启动的活动的名称。我已经尝试过您的答案,但还是没有运气。我该怎么办?非常感谢!
Ruchir Baronia 2015年

1

编辑清单文件中的应用程序标签。

 <application
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >

更改标签属性,并在该位置提供最新名称。


我认为您在活动中使用了标签标签,或者由于应用名称发生变化而使用了类似标签。请将您的活动映射粘贴到清单文件中。
Deepak Sharma 2015年

1
  1. 转到值下的Strings.xml文件。
  2. 将app_name标记更改为您想要的app_name,并且已经设置好,您将能够看到现在更改的名称。

1

如果您使用的是android studio,则在strings.xml下有一个项目

<string name="app_name">BareBoneProject</string>

最好在这里更改名称,因为您可能在某个地方使用了此字符串,或者可能是库或其他东西使用了它,仅此而已,只需构建并运行即可获得新名称。请记住,这不会更改软件包名称或其他任何东西。


1

请按照以下步骤操作:(假设我已选择Android视图)app> res> values> strings

<string name="app_name">Put your App's new name here</string>


0

当然可以。.......Android支持像iOS(构建配置)一样在构建之前更改App的名称。您可以通过修改项目的Android清单文件来进行更改。


0

清单文件中的更改未更改应用名称,

<application android:icon="@drawable/ic__logo" android:theme="@style/AppTheme" android:largeHeap="true" android:label="@string/app_name">

但是改变中的Label属性MainLauncher 对我有用。

[Activity(Label = "@string/app_name", MainLauncher = true, Theme = "@style/MainActivityNoActionBarTheme", ScreenOrientation = ScreenOrientation.Portrait)]

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.