【问题标题】:How to change an Android app's name?如何更改 Android 应用程序的名称?
【发布时间】:2011-07-23 12:47:38
【问题描述】:

有没有办法在不创建新项目的情况下更改应用的名称(启动器应用标签)?

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

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

【问题讨论】:

    标签: android android-manifest


    【解决方案1】:

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

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

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

    在您的 初始屏幕活动 中的 strings.xml 文件中。可以在 Res -> Values -> strings.xml 中找到

    查看更多here

    【讨论】:

    • 对于任何完全的初学者,您可能会发现这个'android:label="@string/app_name"'。在 /res/values/strings.xml 中,您将找到字符串 app_name 的定义:您的应用名称。希望这可以在他们开始时节省一些时间。
    • 我的 strings.xml 中有 &lt;string name="app_name"&gt;myname&lt;/string&gt; 并在我的清单中使用它:android:label="@string/app_name"。即使在卸载后我仍然拥有旧的开发人员名称(SplashActivity)(当我需要确认卸载时,它被命名为“myname”)
    • 感谢@MichaelReed,初学者知道也不错,不建议将@string/app_name 改成实际名称。您将收到一个黄色警告,告诉您使用@string/some_name,而不是在该字段中“硬编码”(写入实际名称)。相反,正如您所说,找到实际的应用程序名称并在 string.xml 文件中进行编辑。
    • android:label 不是主屏幕上显示的内容。
    • @lxknvlk,根据我在 Android 5 和 5.1 上的测试,此答案中提到的名称显示在已安装应用程序列表、卸载对话框和应用程序的“应用程序信息”屏幕中.如果您想自定义启动器或主屏幕中显示的名称,请尝试更改启动器活动中的android:label 属性。
    【解决方案2】:

    应用程序有 android:label,启动 Activity 有 android:label。前者是您在设备上的设置 -> 应用程序 -> 管理应用程序下看到的内容。后者是您在“应用程序”下看到的内容,并通过扩展在您的应用程序的任何快捷方式中看到,例如

    <application
        android:label="@string/turns_up_in_manage_apps" >
        <activity
            android:name=".MainActivity"
            android:label="@string/turns_up_in_shortcuts" >
            ...
        </activity>
    </application>
    

    【讨论】:

    • 这应该是公认的答案。你也能解释一下在strings.xml中的目的是什么吗?
    • +1 用于提及字符串资源的使用(例如:android:label="@string/turns_up_in_manage_apps")而不是硬编码字符串。根据 Android Studio:直接在布局文件中硬编码文本属性是不好的,原因如下: *** 创建配置变化(例如横向或纵向)时,您必须重复实际文本(并在进行更改时保持最新) *** 仅通过为现有字符串资源添加新翻译,无法将应用程序翻译成其他语言。
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      我注意到应用名称在 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
      ...
      

      在 Lollipop 中会是这样的:

      <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 中,intent-filter 中的android:label 基本上没用,而 actionbar 标题和图标启动器是相同的。所以,如果你想在actionbar中使用不同的标题,你别无选择,只能动态设置

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

      【讨论】:

        【解决方案5】:

        您可能还需要更改主要活动的名称“android:label”,如Naming my application in android 中所述

        【讨论】:

          【解决方案6】:

          这取决于你想做什么。我个人想重命名我的项目,这样它就不会在应用顶部和手机菜单图标下方显示 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",然后在strings.xml文件中编辑了字符串title_activity_main以匹配名称。

          希望有帮助!

          【讨论】:

          • 这是根本原因,当我们通过 Eclipse 中的 New-> Wizard 创建新活动时。不错的收获
          • 奇怪的是,当实际的应用程序 android:label 没有时,它修复了它。
          【解决方案7】:

          如果您想在启动器图标下更改应用名称,请更改此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>
          

          【讨论】:

          • 这很重要 - 桌面启动器图标下的名称不是应用程序的名称,而是默认启动器的名称。
          • 嘿,我有一个问题。添加初始屏幕并移动控制哪个应用程序首先启动的意图过滤器后,我的应用程序名称已更改为首先启动的活动的名称。我已经尝试过你的答案,但仍然没有运气。我该怎么办?非常感谢!
          【解决方案8】:

          要更改Android StudioEclipseAndroid 应用程序的名称,您必须更改AndroidManifest.xml&lt;application&gt; 节点内定义的属性android:label 的值

           android:label="My Cool Application!"
          

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

           android:label="@string/app_name"
          

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

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

          【讨论】:

            【解决方案9】:
            <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 的事情吗?
            【解决方案10】:

            没关系,我找到了。它可以在应用程序下的清单文件中完成,只需设置android标签。起初被抛弃,因为它没有改变我的应用程序名称的快捷方式。

            【讨论】:

              【解决方案11】:

              按照步骤操作:(假设您选择了 Android 视图) app>res>values>字符串

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

              【讨论】:

              【解决方案12】:

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

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

              最好在此处更改名称,因为您可能在某处使用过此字符串。或者可能是库或其他东西使用过它。就是这样。只需构建并运行,您将获得新名称。记住这不会改变包名或其他任何东西。

              【讨论】:

                【解决方案13】:

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

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

                更改标签属性,并在那边给出最新的名称。

                【讨论】:

                • 我认为您在活动中使用了标签标签或类似的东西,因为应用名称发生了变化。请将您的活动映射粘贴到清单文件中。
                【解决方案14】:
                1. 转到值下的 Strings.xml 文件。
                2. 将 app_name 标签更改为您想要的 app_name,一切就绪,您将能够看到您现在更改的名称。

                【讨论】:

                  【解决方案15】:

                  是的,当然........Android 支持在构建之前更改应用程序的名称,就像 iOS(构建配置)一样。 您可以通过修改项目的 Android 清单文件来更改它。

                  【讨论】:

                    【解决方案16】:

                    Manifest 文件的变化并没有改变 App 名称,

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

                    但是更改MainLauncher 中的Label 属性对我来说是成功的。

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

                    【讨论】:

                      【解决方案17】:

                      老问题,但现在也与 Xamarin Android 开发相关:

                      由于 Xamarin 允许使用属性将项目添加到清单中,因此您可能需要打开 MainActivity.cs 文件并将 Label 标记更改为应用程序的名称:

                      注意:此属性将覆盖清单文件中写入的 android:label= 标签,正如我在归档应用程序准备发布时发现的那样,因此请务必更改此属性。

                      【讨论】:

                        【解决方案18】:

                        如果您在这里是因为当您尝试使用 play 控制台 上传全新/全新的应用程序时,它会显示以下错误: “您必须使用其他包名称,因为 Google Play 中已经存在“some.package.name”。”

                        您只需要转到您的 build.gradle 文件(您的应用程序)并进行更改

                        applicationId "some.package.name"

                        applicationId "some.package.different-unique-name"

                        此处的其他答案并未解决此错误。

                        【讨论】:

                          【解决方案19】:

                          在我的情况下,我需要无效/缓存并重新启动及其工作

                          【讨论】:

                          • 如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review
                          • @5377037 这看起来像是对我的回答。
                          • 然后尝试包含更多详细信息以支持您的答案
                          【解决方案20】:

                          将应用字符串资源更改为您的新活动

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2017-11-20
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2021-07-11
                            • 1970-01-01
                            • 2019-02-27
                            • 2012-01-14
                            相关资源
                            最近更新 更多