142 votes

le paquet R n'existe pas

Je reçois le paquet redouté R n'existe pas, ça me tue. Le code est bon, j'ai des applications sur le marché qui utilisent ce code.

Maintenant, ça affecte les simples webview applications. o.0

R.string.app_name est erroné mon main.xml y string.xml est bien. Je suis tellement confus.

J'ai réouvert une ancienne version pour "borrow" un peu de code et il a été inondé de R. errors. J'ai fait un nettoyage et rien n'a changé sauf l'importation. R.android étant ajouté en haut.

J'ai même chargé dans Netbeans et j'obtiens la même chose. Le nettoyage ne fonctionne pas. Puis-je écrire le R.java me classer moi-même ?

Qu'est-ce que c'est ? R chose ? n'est-ce pas R . censé correspondre à R.java

2voto

Tommie C. Points 1839

Dans mon cas, j'ai réalisé que je créais plusieurs paquets dans le projet. Dans le manifeste Android, j'ai découvert que le nom du fournisseur avait la valeur incorrecte de MyContentProvider au lieu de .provider.MyContentProvider. Mon paquet principal (avec l'interface utilisateur) était co.companyname.database.provider au lieu de co.companyname.database.

Ensuite, sur les déclarations d'importation de la classe concernée, j'ai simplement fait un clic droit et demandé à Android Studio (0.8.6) d'optimiser mes déclarations d'importation. J'ai également noté que si vous recherchez .R dans la barre de recherche AS dans le coin supérieur droit de l'IDE, vous pouvez trouver un fichier R.java généré automatiquement qui fait partie de votre paquet. À ce stade, vous n'avez pas besoin de modifier quoi que ce soit. Studio devrait réparer le projet après avoir corrigé le fichier Android Manifest et reconstruit.

Un autre élément est que dans une classe, j'utilisais la fonction toString().length() pour évaluer une chaîne de caractères, mais je l'ai remplacée par TextUtils.IsEmpty (stringVal) ; je ne vois pas ce que j'ai fait d'autre pour résoudre le problème.

J'espère que cela aidera quelqu'un.

NB - Tout ceci est avec AS 0.8.6

P.S.

R.java est auto-généré donc lisez l'en-tête : /* FICHIER AUTO-GÉNÉRÉ. NE PAS MODIFIER. * * Cette classe a été automatiquement générée par l'outil * l'outil aapt à partir des données de ressources qu'il a trouvées. Elle * ne doit pas être modifiée à la main. */

2voto

Jesús Rojo Points 21

Lorsque j'ai rencontré ce problème, j'ai créé un nouveau projet et j'ai copié les fichiers de mon ancien projet dans le nouveau.

  1. Démarrer un nouveau projet
  2. Ajouter les anciens fichiers dans le nouveau projet (copier et faire un clic droit sur Layout, drawables,com.packagename,...) pour coller les fichiers de mes anciens projets

Cependant, j'avais toujours le même problème : R does not exist . J'ai alors réalisé que j'avais copié et collé le manifeste de mon bloc-notes dans le manifeste d'Android Studio et que je n'avais pas changé le nom du paquet dans le fichier manifeste.

Par conséquent, une fois que j'ai changé le nom du paquet dans le manifeste pour le nouveau nom du projet, le nouveau projet que j'avais créé a fonctionné correctement.

2voto

Dulya Perera Points 79

Ceux qui suivent ont fonctionné pour moi.

  1. Sur AndroidManifest.xml vérifiez si le nom du paquet est correctement tapé.
  2. import com.example.appName.R ; (import package _name.R ;)

Si la première étape ne fonctionne pas, essayez la seconde.

1voto

Music Monkey Points 183

Quels sont les fichiers que vous importez dans les fichiers qui obtiennent l'erreur R ?

D'après ce que je comprends du fichier R, il s'agit de listes de références générées automatiquement pour tous les attributs de l'application Android. Par conséquent, vous ne pouvez pas les modifier vous-même.

Utilisez-vous Eclipse pour construire ce projet ? Les anciens projets présentant ces erreurs ont-ils été réalisés avant la mise à jour d'Eclipse ? Quelles sont les références qui obtiennent des erreurs ?

Vérifiez que vous n'avez pas importé un autre fichier R à partir d'un autre code copié dans une autre application.

1voto

user5101322 Points 11

Je rencontre ce problème chaque fois que je change d'ordinateur et que j'essaie d'importer d'anciens projets à partir de fichiers transférés via une clé USB.

Ma solution consiste à créer un nouveau projet, à copier (glisser) les fichiers dans l'IDE (actuellement Netbeans) et à les reconstruire. C'est un inconvénient et une solution un peu compliquée, mais elle résout le problème.

Si cela vous arrive, dans le pire des cas, vous devrez sauvegarder vos fichiers, supprimer le projet, glisser les fichiers à l'intérieur et recompiler. Espérons que vous n'en arriverez pas là, mais ce serait votre option nucléaire.

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