ChatGPT解决这个技术问题 Extra ChatGPT

How to change an Android app's name?

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?


E
EricSchaefer

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.


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.
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)
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.
android:label is not what is being shown on the home screen.
@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.
S
Steve Hansen Smythe

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>

This should be the accepted answer. Also can you explain what is the purpose of in strings.xml then ?
+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.
P
Prabhash Rathnayake

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>


L
Lukas Niessen

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

C
Community

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


W
WebDevDanno

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!


This is the root cause, when we create a new activity thru the New-> Wizard in eclipse. Good catch
Strange that this fixed it when the actual Application android:label did not.
Z
Zeeshan

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>

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.
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!
J
Jorgesys

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>

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


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?
a
au789

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.


A
Ashishkumar Mouria

Go to Strings.xml file under values. 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.


S
Steve Moretz

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.


U
UTTAM

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>


This answer was already given at least once, what it brings of new? stackoverflow.com/a/54504801/5468463
D
Deepak Sharma

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.


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

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

S
Suresh Sharma

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.


S
Stu Stephenson

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:

https://i.stack.imgur.com/98rAa.png

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.


G
Gustavo Rodríguez

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.


Y
Yunnosch

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


If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review
@5377037 It looks like an answer to me.
Then try to include more details to support your answer
B
Bachask8

change the app string resource to your new activity