How to change an Android app's name?
Asked Answered
T

20

510

Is there a way to change the name (Launcher App Label) of an app without creating a new project?

Note: Name of the App and The label shown on the Launcher Icon on Home Screen on Mobiles can be different.

Example: On the home page in my Mobile where my apps are, I have an icon and the name Foo, but I want to change the name to Bar. Can I do this?

Tegantegmen answered 26/3, 2011 at 15:29 Comment(0)
A
719

Yes you can. By changing the android:label field in your application node in AndroidManifest.xml.

Note: If you have added a Splash Screen and added

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

to your Splash Screen, then the Launcher Icon name will be changed to the name of your Splash Screen Class name.

Please make sure that you change label:

android:label="@string/title_activity_splash_screen"

in your Splash Screen activity in your strings.xml file. It can be found in Res -> Values -> strings.xml

See more here.

Atwitter answered 26/3, 2011 at 15:32 Comment(7)
And for any complete beginners you might find this 'android:label="@string/app_name"'. In /res/values/strings.xml you will find the definition for the string app_name: <string name="app_name">Your app name</string>. Hope that saves someone a little time as they are starting out.Hort
i have <string name="app_name">myname</string> in my strings.xml and use it in my manifest: android:label="@string/app_name". i still have my old developername (SplashActivity) even after an uninstall (it is named "myname" when i need to confirm uninstall)Chophouse
Thanks @MichaelReed, it's also good for beginners to know, it is not recommended to change the @string/app_name to an actual name. You'll get a yellow warning telling you to use @string/some_name, and not to "hard code" (write the actual name) in that field. Rather, as you say, find the actual app name and edit it in the string.xml file.Lebanon
android:label is not what is being shown on the home screen.Koumis
@lxknvlk, from my testing on Android 5 and 5.1, the name referred to in this answer is displayed in the list of installed applications, the uninstall dialog, and the "App Info" screen for your app. If you want to customise the name shown in the launcher or home screen, try changing the android:label attribute on your launcher activity.Salubrious
On my Samsung Galaxy S5, I had to kill the settings application or restart the phone before the new name showed up there.Salubrious
@MichaelReed Adding to you comment - in some launcher or latestest version of android studio the name displayed under the icon is the label of the homescreen of the app and not the label itself. Discovered by chanche and saves a lot of headaches.Dainedainty
F
269

There's the android:label for the application, and the android:label for the launch activity. The former is what you see under Settings -> Applications -> Manage Applications on your device. The latter is what you see under Applications, and by extension in any shortcut to your application, e.g.

<application
    android:label="@string/turns_up_in_manage_apps" >
    <activity
        android:name=".MainActivity"
        android:label="@string/turns_up_in_shortcuts" >
        ...
    </activity>
</application>
Fayre answered 2/11, 2012 at 18:8 Comment(3)
This should be the accepted answer. Also can you explain what is the purpose of <string name="app_name"> in strings.xml then ?Nichol
+1 for mentioning the usage of String Resources (e.g:android:label="@string/turns_up_in_manage_apps") instead of hardcoded string. According to Android Studio: hardcoding text attributes directly in layout files is bad for several reasons: *** When creating configuration variations (for example for landscape or portrait)you have to repeat the actual text (and keep it up to date when making changes) *** The application cannot be translated to other languages by just adding new translations for existing string resources.Faro
I agree this should be the accepted answer, it helped me a lot because the name of my app is a bit like "Policeman" which is one word but I'd prefer when it's in a small format to be "Police man" as opposed to "Police-man" (you know when a word is so long in needs to be broken up and you add a dash (-) to tell the reader it's one word)Rim
B
78

This is a simple thing in Android Studio,

go to: res folder -> values -> strings.xml

change the app_name (in the bellow example:MitsuhoSdn Bhd) to any new name you want.

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

Brade answered 8/1, 2013 at 14:14 Comment(0)
M
46

I noticed there are some differences in how the app name can turn up in Lollipop devices. Before Lollipop, you can have different app names with this:

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

In Lollipop, it will be like this:

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

In Lollipop, android:label in intent-filter is basically useless, while actionbar title and icon launcher is identical. So, if you want a different title in actionbar, you have no choice but to set dynamically

getSupportActionBar().setTitle(R.string.app_name);
Maxie answered 5/4, 2015 at 9:35 Comment(0)
C
15

You might have to change the name of your main activity "android:label" also, as explained in Naming my application in android

Cordova answered 27/7, 2011 at 19:31 Comment(0)
N
10

It depends what you want to do. I personally wanted to rename my project so it didn't say MainActivity at the top of the app and underneath the icon on my phone menu.

To do this I went into the Android Manifest.xml file and edited

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

And edited the android:name=".Mynewname" and then edited the string title_activity_main in the strings.xml file to match the name.

Hope that helps!

Naphthalene answered 19/7, 2012 at 13:59 Comment(2)
This is the root cause, when we create a new activity thru the New-> Wizard in eclipse. Good catchPhosphene
Strange that this fixed it when the actual Application android:label did not.Burnside
C
9

if you want to change app name under launcher icon then change this android:label="@string/app_name" inside your Main Launcher activity tag

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

And if you want to change app name inside

Settings -> Application manager -> downloaded

where you have all installed applications then change this android:label="@string/app_name" inside application tag

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

            ........

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

             .......

 </application>
Coeternity answered 3/1, 2014 at 11:28 Comment(2)
This is important - the name under the launcher icon on the desktop isn't the name of the app, it's the name of the default launcher.Kava
Hey, I have a question. After adding a splash screen and moving the intent-filter which controls which app starts first, my applications name has changed to the name of the activity that starts first. I have tried your answer, but still no luck. What should I do? Thanks so much!Outlander
P
7

To change the name of your Android application in Android Studio or Eclipse, you have to change the value of the property android:label defined inside the <application> node in AndroidManifest.xml

 android:label="My Cool Application!"

by default the name of the application is referenced to a string defined in strings.xml file, for example:

 android:label="@string/app_name"

so, we have to change the value inside the strings.xml file:

  <string name="app_name">My Cool Application!</string>
Portal answered 15/9, 2015 at 20:39 Comment(0)
F
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>

To change android app's name , go to activity which is launcher activity and change its label like I have done above in my code.

Fair answered 5/6, 2013 at 5:38 Comment(1)
Odd. I too, had to create a new @string for my new app name and reference that before the new name stuck. Could this be an Eclipse thing?Malinda
D
4

If you're using android studio an item is under your strings.xml

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

It's better to change the name here because you might have used this string somewhere.Or maybe a library or something has used it.That's it.Just build and run and you'll get new name.Remember this won't change the package name or anything else.

Distaff answered 3/2, 2019 at 16:8 Comment(0)
T
3

Nevermind I found it. It can be done in the manifest file under application just set the android label. Was thrown off at first becasue it didn't change my shortcut of the application's name.

Tegantegmen answered 26/3, 2011 at 15:31 Comment(0)
B
3
  1. Go to Strings.xml file under values.
  2. Change the app_name tag to your app_name to want and it is all set, you will be able to see the name you change now.
Barcelona answered 11/7, 2018 at 10:41 Comment(0)
F
3

follow the steps:(let I assuming you have chosen Android view) app>res>values>strings

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

Floaty answered 27/4, 2020 at 8:13 Comment(1)
This answer was already given at least once, what it brings of new? https://mcmap.net/q/73894/-how-to-change-an-android-app-39-s-nameMinion
A
1

Edit the application tag in manifest file.

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

Change the label attribute and give the latest name over there.

Arlana answered 1/10, 2013 at 7:4 Comment(1)
I think you are using the label tag in your activity or something like that due to which the app name changes. Please paste the mapping of your activity in manifest file.Arlana
E
1

The change in Manifest file did not change the App name,

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

but changing the Label attribute in the MainLauncher did the trick for me .

[Activity(Label = "@string/app_name", MainLauncher = true, Theme = "@style/MainActivityNoActionBarTheme", ScreenOrientation = ScreenOrientation.Portrait)]
Ethnology answered 15/10, 2018 at 10:27 Comment(0)
C
1

Old question but also now relative to Xamarin Android development:

As Xamarin allows for attributes to be used for adding items into the manifest, you may need to open your MainActivity.cs file and change the Label tag to your application's name:

MainActivity

Note: This attribute will override written android:label= tags in your manifest file as I found out whilst archiving the app ready for release so be sure to change this attribute too.

Cuboid answered 22/10, 2020 at 9:4 Comment(0)
M
0

Yes Of-course........Android Supports to change the name of the App before making build just like iOS (Build Configuration). You can change it by Modifying the Android manifest file for the project.

Monomer answered 30/5, 2012 at 10:59 Comment(0)
T
0

If you are here because when you tried to upload your fresh/brand new application using the play console it displayed this error: "You must use another package name because "some.package.name" already exists in Google Play."

You just need to go to your build.gradle file (your application) and change

applicationId "some.package.name"

to

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

Other answers here didn't fix this error.

Therine answered 4/1, 2021 at 18:16 Comment(0)
U
0

in my case i need invalidate/cache and restart and its work

Unsegregated answered 17/10, 2021 at 2:6 Comment(2)
@5377037 It looks like an answer to me.Distefano
Then try to include more details to support your answerPrinting
H
-1

change the app string resource to your new activity

Hic answered 19/10, 2013 at 22:13 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.