web-dev-qa-db-fra.com

Xamarin.Forms change Android nom de l'application

J'ai créé une application Xamarin.Forms très basique.

J'ai vérifié Android et les cibles iOS. J'ai 3 projets:

  • Un projet commun
  • Un projet spécifique à iOS
  • Et un projet spécifique à Droid.

L'application spécifique Android a un suffixe ".Droid" dans le nom de l'application.

J'ai donc décidé de faire un clic droit sur le projet droid et de supprimer ce suffixe dans le champ "Assembly name".

J'ai eu une exception où j'exécute l'application (au démarrage). Si je change à nouveau le nom de l'assembly pour mettre le suffixe droïde, cela ne fonctionnera plus. Vous pouvez essayer cela avec un projet vide avec la dernière version de Xamarin.Forms.

Je ne comprends pas pourquoi.

Merci

Je travaille sur Visual Studio pour Mac - Xamarin.Forms

13
Bob5421

Le problème est que vous modifiez le nom d'assembly de votre application, pas le nom.

Si vous souhaitez modifier le nom de l'application dans Xamarin.Forms Android vous avez deux options:

  • Accédez à votre MainActivity et modifiez la propriété Label:

enter image description here

  • Ou supprimez le Label du MainActivity et ajoutez le nom dans le Manifest.xml via l'interface utilisateur ou le code:

enter image description hereenter image description here


Sur iOS, vous devez le modifier dans Info.plist.

enter image description here

24
jzeferino

L'autre réponse fonctionne bien. Mais j'ajoute plus de détails.

Le nom de l'application est choisi dans le fichier AndroidManifest.xml , c'est-à-dire <application Android:label=...., qui à son tour fait référence à valeurs> fichier strings.xml . Ne codez pas le nom de l'application ici. Sa bonne pratique sépare toutes les chaînes utilisées dans strings.xml fichier.

App name image

strings.xml

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

La propriété Label remplace cela et définit le titre de l'application, le nom apk sur la valeur Label définie dans MainActivity.

Il est préférable de supprimer la valeur Label de Directive d'assemblage de MainActivity.cs [Activity (car il remplace cette valeur manifeste au moment du débogage) modifiez la valeur dans strings.xml afin qu'elle soit globale et cohérente.

Image 2

5
Prateek