453

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?

Vadim Kotov
  • 7,103
  • 8
  • 44
  • 57
au789
  • 4,765
  • 5
  • 18
  • 21

19 Answers19

655

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.

EricSchaefer
  • 22,338
  • 20
  • 63
  • 99
MByD
  • 129,681
  • 25
  • 254
  • 263
  • 258
    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: Your app name. Hope that saves someone a little time as they are starting out. – Michael Reed Feb 11 '12 at 15:59
  • 13
    i have `myname` 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) – Wandang Feb 21 '13 at 16:45
  • 1
    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. – Azurespot Mar 23 '14 at 02:38
  • 1
    android:label is not what is being shown on the home screen. – lxknvlk Mar 22 '15 at 18:22
  • 1
    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! – Ruchir Baronia Nov 12 '15 at 06:34
  • 2
    @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. – Sam Dec 05 '15 at 21:13
  • @RuchirBaronia, where are you seeing the name of the activity that starts first? In the launcher? In the app info screen? In the uninstall dialog? In the list of downloaded/installed applications? – Sam Dec 05 '15 at 21:17
  • 1
    On my Samsung Galaxy S5, I had to kill the settings application or restart the phone before the new name showed up there. – Sam Dec 05 '15 at 21:18
  • @Sam In the app home screen – Ruchir Baronia Dec 06 '15 at 16:13
  • @RuchirBaronia, do you mean your phone's home screen, or do you mean the home screen inside your app? It might help if you make a new Stackoverflow question for this and include all the details. – Sam Dec 06 '15 at 21:03
  • @Sam The phone's home screen – Ruchir Baronia Jan 27 '16 at 02:04
  • @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. – Caterpillaraoz Sep 11 '20 at 16:07
243

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>
Steve Hansen Smythe
  • 2,557
  • 1
  • 13
  • 17
  • 2
    This should be the accepted answer. Also can you explain what is the purpose of in strings.xml then ? – Rahul Iyer Aug 14 '15 at 03:30
  • 1
    +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. – ivanleoncz Jan 25 '17 at 16:54
69

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>

longcrystal
  • 691
  • 5
  • 2
44

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);
Lukas Niessen
  • 448
  • 3
  • 13
Neoh
  • 14,891
  • 12
  • 62
  • 78
15

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

Community
  • 1
  • 1
darkzangel
  • 903
  • 9
  • 17
9

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!

WebDevDanno
  • 1,062
  • 2
  • 20
  • 43
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>
Shan Xeeshi
  • 1,468
  • 16
  • 24
  • 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. – Jeff Dege Apr 21 '15 at 22:51
  • 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! – Ruchir Baronia Nov 12 '15 at 06:36
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>
Jorgesys
  • 114,263
  • 22
  • 306
  • 247
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.

pioneerBhawna
  • 578
  • 7
  • 15
  • 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? – Mike Hines May 09 '14 at 20:37
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.

au789
  • 4,765
  • 5
  • 18
  • 21
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>

UTTAM
  • 201
  • 2
  • 3
  • This answer was already given at least once, what it brings of new? https://stackoverflow.com/a/54504801/5468463 – Vega Sep 26 '20 at 01:39
2

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.

steve moretz
  • 1,900
  • 10
  • 21
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.

Deepak Sharma
  • 4,535
  • 4
  • 44
  • 58
  • 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. – Deepak Sharma Nov 16 '15 at 10:52
1
  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.
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.

Suresh Sharma
  • 1,584
  • 19
  • 35
0

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)]
Annu
  • 339
  • 4
  • 13
0

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.

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.

-1

change the app string resource to your new activity

Bachask8
  • 301
  • 1
  • 7
  • 17