2010-12-07 3 views
2

J'essaye de créer une version d'essai d'une application que j'ai écrite. J'ai copié mon projet principal, puis je l'ai collé comme un nouveau projet avec un nouveau nom. J'ai ensuite refactorisé (Essai joint) à mes activités, puis j'ai corrigé toutes les erreurs qui ont surgi à cause de cela. Une fois le projet compilé, j'ai essayé de lancer l'application.Android et Eclipse copier l'application existante au nouveau projet crée un R. drôle

Lorsque j'essaie d'exécuter l'application d'évaluation sur l'émulateur, mon application ne trouve aucune de ses ressources (tirages, styles, etc.) si j'accède par programmation à «R. *». Si mon application démarre une activité codant en dur un style, cela fonctionne correctement (sauf que les drawables sont manquants).

En outre, je ne suis pas sûr de la façon dont les ressources sont mappées, mais quand j'ouvre mon R.java généré pour chaque projet, ils sont identiques! Les erreurs lancées à partir de mon application d'essai dire « ressource introuvable pour xyz » et l'identifiant l'exception me montre est différent que celui généré R.java.

Quelqu'un a des idées comment je peux obtenir ce travail?

Merci.

* Addition ** donc j'ai oublié de mentionner que je vise la version Android 1.5 (api version 3). Je viens de mis à jour la version cible à 4 et les choses ont fonctionné ... Je voudrais cibler 1.5 ... Quelqu'un l'expérience? Merci

+0

Avez-vous nettoyé votre nouveau projet? –

+0

Oui, je l'ai nettoyé en utilisant eclipse. J'ai supprimé les dossiers gen et bin. – ekawas

+0

Idée vraiment aléatoire, mais que se passe-t-il si vous redéfinissez la version cible? Ce que je me demande, c'est si le fait de changer la version a résolu votre problème, plutôt que la version à laquelle vous l'avez changé. –

Répondre

0

Regardez dans le dossier gen/et voyez dans quel paquet R.java est généré. Toutes les références à quelque chose de R.java dans votre code doivent être explicitement ou implicitement à son nom de paquet courant actuel.

Si R.java n'est pas généré dans le paquet que vous voulez, il peut être difficile de convaincre Eclipse de le "déplacer". Ce qui semble fonctionner, c'est faire une copie de votre fichier source java primaire et le renommer/le relocaliser dans le nom du paquet dans lequel vous voulez que R.java soit, puis supprimer l'original.

Cela plus un projet de nettoyage et de reconstruction devrait faire fonctionner les choses à nouveau.

+0

Donc le R est généré dans l'espace de nom de paquet correct. c'est le contenu de R qui semble incorrect. – ekawas

+0

Bien que ce ne soit pas la bonne réponse dans mon cas, cela devrait aider la plupart des gens (vu que c'est le conseil donné à la plupart des autres personnes). Merci Chris de m'avoir aidé. J'ai fini par ne pas soutenir Android 1.5 et maintenant soutenir 1.6+ dans mon application. – ekawas

0

Pour moi, c'est la meilleure solution de travail que j'ai trouvé: Android - copy existing project with a new name

On dirait que vous d'abord à changer le nom du package dans ne se manifeste, alors votre paquet principal nom (avec refactor) et enfin renommer votre application nom dans le manifeste.

Questions connexes