43 votes

Renommer le paquet dans lequel R.java est généré

J'utilise eclipse et j'ai créé un projet Android de test et le paquet dans le dossier "gen" qui contient R.java s'appelle actuellement com.something.test (Je pensais que je ne faisais que tester, mais j'ai construit toute mon application dessus !)

Il est référencé lors du chargement de l'application et le téléphone l'affiche parfois, je dois donc le renommer. J'ai essayé en cliquant sur refactor mais il a été régénéré avec l'ancien nom !

Je peux le renommer ?

85voto

Cristian Points 92147

Faites un clic droit sur votre projet, puis sur Android Tools -> Rename Application Name :

enter image description here

Ou, si vous voulez le faire manuellement, allez dans votre fichier manifeste, changez le nom du paquet, et faites un Project Clean.

22voto

Felix Points 33944

Vérifiez le AndroidManifest.xml il y a un package de l'attribut <manifest> élément de haut niveau. C'est là que R.java est généré et vous devez faire attention à le renommer.

3voto

Rich Points 41

Pour ceux qui tentent de le modifier manuellement, l'affirmation selon laquelle le fichier R.java est lié est correcte. Si vous le modifiez simplement dans le manifeste, vous obtiendrez une longue séquence d'erreurs "R cannot be resolved" dans tous vos fichiers java qui font référence aux ressources. Pour corriger cela, vous devrez ajouter un import pour la classe R dans chacun de ces fichiers.

Donc, si vous avez eu votre paquet à l'origine comme : "com.mycomp.myapp.Android" et le changez en "com.mynewcomp.myapp.Android", vous devrez aller dans chaque fichier de classe java et ajouter :

import com.mynewcomp.myapp.android.R;

Si vous exécutez la commande de renommage suggérée à l'origine sur le projet, cela est fait pour vous automatiquement.

2voto

Rich Points 16818

Il est nommé dans le paquet racine de votre application. Si vous changez le paquet racine de votre application en quelque chose d'autre, R.java existera dans ce paquet maintenant.

2voto

grgrssll Points 11

Une autre chose à vérifier est que vous avez des vues personnalisées avec des espaces de noms xml. Il m'a fallu une minute pour réaliser que je devais modifier l'attribut xmlns.

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:myxmlnamespace="http://schemas.android.com/apk/res/com.mynew.packagename"
    ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X