Bob5421
Bob5421

Reputation: 9073

How to change Android application name in Xamarin.Forms?

I am working with Xamarin.Forms in Visual Studio For Mac and I have created a very basic Xamarin.Forms application.

I have checked Android and iOS targets. I got 3 projects:

The Android specific application has a ".Droid" suffix in application name.

So I decided to right click on droid project, and to remove this suffix in "Assembly name" field.

I got an exception where I run the app (at startup). If I change Assembly name again to put the droid suffix, it does not work anymore.

You can try this with a blank project with the latest version of Xamarin.Forms.

I do not understand why?

Upvotes: 31

Views: 32221

Answers (4)

Indian
Indian

Reputation: 31

   //Change the Xamarin Forms Android Application Name

   [Activity(Label = "ApplicationName", Icon = "@mipmap/icon", Theme = 
   "@style/splashscreen", LaunchMode = LaunchMode.SingleTop, MainLauncher = true, 
    ScreenOrientation = ScreenOrientation.Portrait,ConfigurationChanges = 
    ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | 
   ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize )]



  //In IOS , we can change the name of Application in info.plist
                 
                 Double click in info.plist , change Application Name

Upvotes: 1

Morse
Morse

Reputation: 9124

Other answer works fine. But I am adding more details .

Application name is picked from AndroidManifest.xml file i.e. <application android:label=@string/app_name , which in turn refers to values>strings.xml file . Do not hard code app name here. Its good practice separate all strings used in strings.xml file.

App name image

strings.xml

<resources>
  <string name="app_name">App Name</string>
</resources>

Label property overrides this and sets the app title , apk name to Label value set inside MainActivity.

Its preferable to delete Label value from MainActivity.cs's assembly directive [Activity (as it overrides this manifest value at debug time) change the value in strings.xml so that its global and consistent.

Image 2

Upvotes: 15

anandd360
anandd360

Reputation: 306

For android make the change in android folder, mainactivity.cs

[Activity(Label = "Myappname", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]

Fos iOS make the following in change in the info.plist

Bundle display name to Myappname

Upvotes: 2

jzeferino
jzeferino

Reputation: 7850

The problem is that you are changing the assembly name of your application, not the name.

If you want to change the application name in Xamarin.Forms Android you have two options:

  • Go to your MainActivity and change the Label property:

enter image description here

  • Or remove the Label of the MainActivity and add the name in the Manifest.xml via UI or code:

enter image description here enter image description here


On iOS you must change it in Info.plist.

enter image description here

Upvotes: 78

Related Questions