2010-07-12 5 views
11

J'ai téléchargé la source de SpriteMethodTest et je veux la construire dans Eclipse. Alors je suis allé:Classe R manquante après la création d'un projet Android à partir d'une source existante

Fichier >> Nouveau >> Projet Android >> Créer un projet De source existante >> SpriteMethodTest

Il a créé le projet va bien, mais la classe R est pas généré. Tout fichier qui référence une ressource dans R dit R cannot be resolved.

L'importation de android.R aboutit à R.drawable.background cannot be resolved. Comment puis-je générer à nouveau R?

+4

Notez que 'android.R' est une classe complètement différente de' the.package.name.of.your.app.R' – MatrixFrog

+0

salut, j'ai le même problème. Je crée aussi un nouveau projet à partir d'une source existante. La source que j'utilise est un exemple de code du SDK Android. R est manquant. L'avez-vous réparé? – Emerald214

+0

Non, je n'ai jamais vraiment fait. Je n'ai jamais eu beaucoup de chance avec Eclipse. – cstack

Répondre

1

Project -> Clean (sélectionnez votre projet) -> Ok

Cela déclenchera une nouvelle construction et tant que le projet est configuré en tant que projet Android, R.java sera régénéré.

1

les opérations suivantes:

  • Supprimer le dossier gen
  • Project => propre
  • Faites un clic droit => Outils Android => Correction des propriétés du projet
  • Faites un clic droit => Exécuter en tant .. . => Application Android
+0

Hmm ... Rien de tout cela ne fonctionne. Le dossier gen reste toujours vide. – cstack

+0

Après l'avoir supprimé et avoir fait un "Correction des propriétés du projet", que dit Eclipse? – Macarse

+0

Il ne dit rien. – cstack

4
  • Créez un fichier vide dans le dossier "gen" et nommez-le "R.java"
  • cliquez sur Projet -> Clean ...
  • cliquez sur Outils Android -> Project Fix ...
1

R.java pas généré indique généralement des problèmes ailleurs, par exemple : Manifest.xml ayant des erreurs.

Corrigez ces erreurs et reconstruisez. R.java devrait être généré ensuite.

Si ce n'est pas le cas, faites un projet -> android -> fixez les paramètres android.

5

Vous rencontrez un problème, car vous importez des Androids R, pas votre projet spécifique R. Il suffit de supprimer le import android.R;, puis passez votre souris sur la référence au R qui donne le R cannot be resolved to a variable. De là, vous aurez peut-être quelques options différentes sur lesquelles importer R. Vous voulez importer le R qui est dans votre paquet.

2

J'ai eu exactement le même problème avec SpriteMethodTest. Cela n'a rien à voir avec les noms de paquets ou les importations. Comme le dit tarkeshwar, si R n'est pas généré, alors le problème est avant la compilation. Dans ce cas, c'est AndroidManifest.xml.

La dernière balise dans le manifeste est

<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/> 

mais android:targetSdkVersion n'est pas un attribut pris en charge. Changer la ligne à

<uses-sdk android:minSdkVersion="3"/> 

et qui devrait permettre à Eclipse de générer la classe R.

2

eu un problème similaire, qui semblait être causé par les versions du SDK ainsi:

  1. Projet -> propriétés -> android: sélectionnez l'API appropriée lvl et cliquez sur OK. La classe R a finalement été générée, mais elle ne sera pas encore compilée.
  2. Supprimer le projet et l'importer de nouveau (maintenant il a la classe R) et a travaillé à la première tentative.

* Apparu lors d'une tentative d'extraction du code d'exemple de serpent.

4

Le fichier de ressources R généré ne peut être généré par eclipse que si les fichiers qu'il lit peuvent être compilés, ce qui signifie que les erreurs dans un fichier (tel que le fichier manifest) empêchent la compilation. Donc, résolvez d'abord vos erreurs (listées dans l'onglet 'Problems'), puis enregistrez les changements et vous devriez les générer.

La raison pour laquelle cela semble généralement lié aux versions d'API est que des versions différentes provoquent des erreurs de compatibilité. Cela se produit généralement lorsque les utilisateurs saisissent un exemple de code et ne définissent pas la même version de l'API que celle utilisée par le créateur de code. Passer à la version correcte résout les erreurs et permet au fichier R d'être généré.

2

Dans mon environnement android SDK manquait le dossier platform-tools et j'ai dû démarrer android et installer platform-tools. Maintenant ça marche.

1

L'exécution de ce dans le dossier de projet fixe pour moi

android update project -p . 

j'avais « Créer automatiquement » éteint quand je créé le nouveau projet, si certains fichiers ne sont pas créés comme ils auraient dû

Questions connexes