web-dev-qa-db-fra.com

Aucun fichier R.Java généré dans mon projet

Je fais le Tutoriel Bloc-notes, exercice 2 . J'ai commencé par créer un nouveau Android et j'ai choisi Créer à partir de la source pour importer les fichiers source téléchargés pour l'exercice.

Mais maintenant, je reçois de nombreuses erreurs dans Eclipse, et le problème est qu'il n'y a pas de R.Java classe. Comment puis-je résoudre ça? Le dossier gen/ est vide.


J'ai des erreurs sur Notepadv2.Java et en res/layout/note_edit.xml et les deux semblent être liés au fait que le R.Java est manquant.

Voici mes import instructions dans Notepadv2.Java:

import Android.R;
import Android.app.ListActivity;
import Android.content.Intent;
import Android.database.Cursor;
import Android.os.Bundle;
import Android.view.ContextMenu;
import Android.view.ContextMenu.ContextMenuInfo;
import Android.view.Menu;
import Android.view.MenuItem;
import Android.view.View;
import Android.widget.ListView;
import Android.widget.SimpleCursorAdapter; 

Ils sont créés par la commande Eclipse Ctrl + Shift + O .

42
Jonas

Allez dans Project et appuyez sur Clean. Cela devrait, entre autres, régénérer votre fichier R.Java.

Débarrassez-vous également de tout import Android.R.* déclarations, puis faites le nettoyage que j'ai mentionné.

Apparemment, le problème de Jonas était lié à des paramètres de build cible incorrects. Sa construction cible a été définie sur Android 2.1 (SDK v7) où son XML de disposition utilisait Android 2.2 (SDK v8) éléments (paramètre de disposition match_parent), à cause de cela il n'y avait aucun moyen pour Eclipse de générer correctement le fichier R.Java qui a causé tous les problèmes.

74
Octavian Damiean

Après une journée entière à essayer de trouver pourquoi le fichier R n'a pas été généré, j'ai constaté qu'après l'installation Android SDK Tools r22, une nouvelle option dans Tools était disponible: Android Outils de construction du SDK.

Après l'avoir installé, le fichier R a été généré à nouveau.

39
Miguel Febres

maintenant vous avez importé Android.R au lieu de votre propre R ... Essayez de jeter un œil à votre vue "problèmes" si vous avez des erreurs dans l'un de vos fichiers xml ... débarrassez-vous du import Android.R et commentez toutes les utilisations de R .*

Le nettoyage devrait aider lorsque votre projet n'a pas d'autres erreurs, alors vérifiez vos fichiers xml ou la dénomination des fichiers dans vos dossiers res

7
WarrenFaith

Vous utiliserez probablement une version incorrecte du SDK. Faites un clic droit sur votre projet. Sélectionnez Propriétés -> Android. Notez que 2.2 est le dernier SDK. Vérifiez-le et voyez s'il est compilé ...

Modifier

Faites aussi un nettoyage après

4
DeRagan

I Had a similar problem

La meilleure façon d'identifier ce problème est d'identifier les avertissements Lint :: * Clic droit sur project> Android Tools> Run Lint: Common Errors *

  • Cela nous aide à montrer quelques erreurs à travers lesquelles nous pouvons corriger des choses qui font que R.Java se régénère à nouveau
  • En suivant les étapes ci-dessus, j'ai identifié que j'avais ajouté des fichiers image que je n'ai pas utilisés -> Je les ai supprimés -> Cela a résolu le problème!

Enfin nettoyer le projet!

4
Devrath

Mon collègue a ce problème - un redémarrage d'Eclipse l'a résolu.

3
Bozho

Mettre à jour Android SDK Tools dans Android SDK Manager pour la révision 22.0.1. Cela a fonctionné pour moi.

3
Hugo Pinto
  1. Supprimez la ligne "import R.Java" de votre code. Son fait par Eclipse afin de résoudre le problème.
  2. Accédez au fichier "note_edit.xml". Partout où vous trouvez "match_parent" comme valeur d'attribut, remplacez-le par "fill_parent" ou "wrap_content".
  3. Faites une construction propre. R.Java sera généré automatiquement.

Si vous rencontrez ce problème, cela signifie que la propriété "match_parent" n'est pas prise en charge dans votre contenu. Au lieu de cela, "fill_parent" est utilisé.

"fill_parent: la vue doit être aussi grande que son parent (moins le remplissage). Cette constante est déconseillée à partir du niveau 8 de l'API et est remplacée par match_parent."

2
Varun Singh

J'ai juste eu un problème où un projet qui fonctionnait précédemment a cessé de fonctionner avec tout ce qui faisait référence à R étant publié comme des erreurs parce que R.Java n'était pas généré.

** * VERIFIEZ AUSSI LA VUE DE LA CONSOLE * *

J'avais (à l'aide de Finder) fait une sauvegarde de l'icône principale (même pas utilisée) donc l'un des dossiers res (hdpi) avait

icon.png copie de icon.png

La console a indiqué que "copie de icon.png" n'était pas un nom de fichier valide. Aucune erreur n'a été signalée ailleurs - pas de X rouge dans les dossiers res ....

mais en remplaçant les espaces par "_" et tout revient à la normale ....

1
Dave Appleton

Il s'agit en fait d'un bogue dans le code des didacticiels. J'avais le même problème et j'ai finalement réalisé que le problème se trouvait dans le fichier "note_edit.xml".

Certains des attributs layout_heigh/width ont été définis sur "match_parent" qui n'est pas une valeur valide, ils sont censés être définis sur "fill_parent".

Cela lançait un bogue, ce qui entraînait l'échec de la génération du fichier R.Java. Donc, si vous rencontrez ce problème, ou un problème similaire, vérifiez tous vos fichiers xml et assurez-vous qu'aucun d'entre eux ne contient d'erreurs.

1
Charleston

Avez-vous installé le plug-in Android?

Votre projet doit être du type Android.

1
ykatchou

J'ai également rencontré des problèmes tels que R.Java manquant, et Eclipse se plaignant également qu'il y a des erreurs dans mon code (affichage d'une icône X rouge par rapport aux fichiers de classe) quand il n'y a pas eu d'erreurs.

La seule méthode que j'ai trouvée pour résoudre ce problème est de nettoyer le projet en sélectionnant Project > Clean

Cela semble résoudre le problème pour moi, en exécutant Eclipse 3.5.2

0
Jimmy

J'ai rencontré ce problème à plusieurs reprises. Le problème racine étant

  1. La version SDK cible n'est pas sélectionnée dans les paramètres du projet

ou

  1. Le fichier default.properties (à côté de manifest.xml) est manquant ou le niveau min sdk n'est pas défini.

Vérifiez ces deux et faites une construction propre comme suggéré dans les options précédentes, cela devrait fonctionner correctement.

Recherchez les erreurs dans l'onglet "Problèmes" ou "Console".

Enfin: avez-vous/Eclipse dispose d'autorisations d'écriture dans le dossier du projet? (également moins probable est l'espace disque)

0
srinathhs

Cela pourrait également être le problème d'un fichier de disposition xml incorrect par exemple. Si vos fichiers xml ne sont pas valides (contenant des erreurs), le fichier R ne sera pas régénéré après un nettoyage. Si vous corrigez cela, le fichier R sera généré automatiquement à nouveau.

0
Steffen Brem

ouais j'ai le même problème. je l'ai résolu en sélectionnant Projet dans la barre d'outils nettoyer le projet réinitialiser également l'option de construction automatique quelques fois nécessaires pour changer le nom du format de correspondance du fichier xml [az] [0-9] les majuscules doivent être modifié

0
DroidBot

J'ai ce problème à cause d'une erreur interne dans Android plugin. Lorsque j'ai essayé d'ouvrir du XML de mise en page, j'ai une erreur:

The project target (Android 2.2) was not properly loaded.

Heureusement, dans mon cas, le redémarrage d'Eclipse et le nettoyage du projet ont aidé.

0
Danubian Sailor

Selon mon expérience, je peux résumer:

1.Le problème se réfère principalement aux problèmes de syntaxe qui peuvent survenir sur les fichiers xml.

Vous pouvez copier accidentellement AndroidManifest.xml dans des sous-dossiers.

1.Un fichier est une extension non définie.

Après avoir vérifié tous ces éléments, allez dans Projet-> Nettoyer ou supprimez simplement les dossiers/bin et/gen.

0
ENSATE

Juste Redémarrer l'Eclipse résoudra ce problème car l'espace de travail sera fraîchement construit! aller à

Fichier -> Redémarrer

C'est le moyen le plus simple d'éviter la frustration en allant dans Build, properties, blah blah .....

0
Vivek Warde

En voici une autre: j'étais sur le point de pleurer, mais j'ai réussi à obtenir mon bien-aimé R.Java retour:

Je n'avais rien mis à jour dans mon Android depuis un bon moment. J'avais besoin d'une fonctionnalité et j'ai exécuté le gestionnaire de SDK. En plus de ce dont j'avais besoin, j'ai essentiellement vérifié tout ce qu'il voulait mettre à jour. Après mon R.Java a disparu dans Eclipse.

Pour faire court, dans le SDK Manager, il y avait une nouvelle entrée "Android SDK Build-tools" qui, je suppose, n'était pas là la dernière fois que j'avais mis à jour. C'est une sorte de nom évident, vraiment. Après avoir installé celui-là, Eclipse m'a donné mon R.Java retour.

0
sjngm

Il semble que lorsque vous passez au dernier SDK (2.2), le bâtiment ne génère plus de fichier R.Java. Ou du moins pas comme d'habitude. Pour résoudre ce problème, supprimez le package sous le dossier gen et nettoyez sans construire. Cela résout le problème pour moi.

0
zkwentz