Eclipse / Android: "Erreurs lors de l'exécution du générateur 'Android Pre Compiler' sur le projet…"

97

Tenter de travailler sur un projet Android sur lequel je n'ai pas travaillé depuis quelques mois, mais à chaque fois que j'essaye de créer le projet, Eclipse ouvre une boîte de dialogue disant:

'Building workspace' has encountered a problem

Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'XXX'
java.lang.NullPointerException

J'exécute Eclipse sur un Mac avec une cible de construction de projet Android 4.0.3 (niveau d'API 15) et j'ai les versions suivantes des choses installées

  • Éclipse - 3.7.2
  • Outils de développement Android - 21.0.1
  • SDK Android - jusqu'à 17

J'ai déjà essayé quelques choses, comme démarrer un tout nouvel espace de travail, installer ces 'Subversive SVN JDT Ignore Extensions', tout mettre à niveau, m'assurer que je n'ai pas de fichiers sans extensions dans mon dossier source (ou ailleurs), s'assurer que mon compilateur Java est 1.6 et l'éteindre et le rallumer.

ÉDITER

Voici la trace de la pile du journal des erreurs Eclipse pour ce problème:

java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder.build(PreCompilerBuilder.java:673)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:513)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:432)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:305)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Et les données de session:

eclipse.buildId = M20120208-0800
java.version = 1.6.0_37
java.vendor = Apple Inc.
Constantes BootLoader: OS = macosx, ARCH = x86_64, WS = cacao, NL = en_US
Arguments du framework: -keyring /Users/onemick/.eclipse_keyring -showlocation
Arguments de ligne de commande: -os macosx -ws cacao -arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

UNE AUTRE MODIFICATION

OK, donc plus de recherche m'a conduit à cette page , ce qui suggère que ce problème est définitivement lié à la présence de fichiers sans extension dans mon projet - cependant je ne sais pas quel fichier et pour la vie de moi je ne peux pas trouver tout dans ce projet!

Je serais même heureux si quelqu'un pouvait expliquer ce que signifie cette erreur et comment je pourrais obtenir plus d'informations de débogage sur l'erreur sous-jacente.

Mick Byrne
la source
1
quel est votre objectif de construction de projet?
Padma Kumar
Android 4.0.3 (niveau d'API 15)
Mick Byrne
Oui, j'ai essayé toutes les différentes solutions proposées dans ce numéro, mais aucune d'elles n'a résolu mon problème. J'ai posé cette question distincte car je n'ai que le problème «Android Pre Compiler». Je ne comprends même pas ce que signifie ce «problème».
Mick Byrne le

Réponses:

107

Pour ceux d'entre vous qui ne souhaitent pas installer la version préliminaire d'ADT, une solution de contournement est décrite ici .

  1. Ouvrez les propriétés du projet dans Eclipse puis Ressources -> Filtres de ressources.
  2. Cliquez sur le bouton "Ajouter ..." -> Cochez "Tout exclure", "Fichiers et dossiers", "Tous les enfants". Dans la zone de saisie de texte, saisissez ".svn" (sans guillemets).
  3. Redémarrez Eclipse.

J'ai eu le même problème avec le dossier .git , cela a fonctionné comme un charme.

Vadim Kotov
la source
Gardez à l'esprit que vous devez fermer et rouvrir le projet après cette modification.
Tommie
Veuillez noter que ADT 21.1 est sorti et que cela est corrigé, vous pouvez donc simplement mettre à jour vos outils.
Vadim Kotov
S'il vous plaît, aidez-moi à me débarrasser de cette erreur, je vois que cela a fonctionné pour vous tous, mais
j'obtiens
@ user1106888 vous avez peut-être un autre dossier avec un point dans son nom. ou certains fichiers sans extensions, ils pourraient également produire cette erreur.
Vadim Kotov
Problème similaire / lié: stackoverflow.com/questions/14188650/…
Mr-IDE
84

Je déteste toujours répondre à mes propres questions, mais c'est une véritable solution.

La version 21.0.1 des outils ADT a un bogue qui empêche la construction d'un projet si vous avez des fichiers sans extensions. C'est un problème particulier pour les utilisateurs (comme moi) qui utilisent subversion avec des fichiers sans extension.

Une solution recommandée est d'installer ces plugins Eclipse `` subversifs '' (Aide> Installer un nouveau logiciel> Travailler avec votre site de version Eclipse> Développez `` Collaboration ''> Choisissez `` Subversive SVN JDT Ignore Extensions '' et `` Subversive SVN Team Provider '') mais cela n'a pas ça marche pas pour moi (je suis sur Indigo, peut-être sur Juno ça marche).

La solution consiste à installer la version préliminaire 21.1 des outils ADT et du gestionnaire de SDK de Google. Des instructions claires peuvent être trouvées ici et vous pouvez lire tout l'arrière-plan et ajouter votre voix à la foule en colère des développeurs ici .

Mick Byrne
la source
4
Cela résout le problème, assurez-vous de mettre à jour le SDK et l'ADT.
Michael Marsella
1
@MickByrne Merci. Apparemment, j'ai dû installer le canal "preview" d'ADT et du SDK pour résoudre le problème avec Eclipse Juno. Merci.
Aleks G
3
Si après l'installation des plugins subversifs, le problème ne disparaît pas, essayez ceci: Supprimez le projet de votre espace de travail, supprimez les dossiers 'bin' et 'gen' et assurez-vous qu'ils sont exclus dans svn, puis rajoutez le projet à l'espace de travail (Fichier> Nouveau> Projet, Projet Android à partir du code existant). S'il est maintenant mal nommé, cliquez dessus avec le bouton droit de la souris> Refactoriser> Renommer. Cela a résolu le problème pour moi.
Glenn Schmidt
3
21.1 est sorti, vous pouvez donc y mettre à niveau si vous n'aimez pas les aperçus.
Xavier Ducrohet
1
mar13 n'est plus une PREVIEW. allez simplement dans SDK Manager et mettez à niveau.
tony gil
15

Je viens de redémarrer Eclipse et le problème a été résolu.

h2O
la source
9

J'ai également eu le même problème et j'ai réalisé que j'avais fermé un autre projet lié à celui que je construisais. Une fois que je l'ai ouvert, tout a disparu.

arniotaki
la source
Merci, cela a totalement fonctionné. L'importation de projet que j'utilisais comme bibliothèque était pleine d'erreurs, je l'ai donc fermée (également puisque je n'utilisais pas ses fonctionnalités à l'époque). Donc, comme je n'en avais pas besoin, je l'ai déconnecté de mes bibliothèques (via Propriétés -> Android -> sélectionnez la bibliothèque puis cliquez sur Supprimer) et les erreurs du projet d'origine ont disparu. YAY!
Azurespot
2

Peut-être avez-vous fermé la bibliothèque 'appcompact_v7' pour créer un nouveau fichier. cela a résolu mon problème en le rouvrant

Vinod Joshi
la source
1

Je rencontre cette erreur et supprime tous les fichiers .svn, mon projet ne peut pas fonctionner, lorsque le processus est à 55%

et je trouve que c'est un répertoire de recherche vide dans mon projet, je ne sais pas comment cela se produit, mais lorsque vous supprimez le répertoire de recherche vide, mon projet fonctionne,

vous devriez donc vérifier tous vos fichiers dans votre projet.

user998953
la source
1

J'étais également confronté au même problème et j'ai perdu beaucoup de temps à résoudre ce problème, et les solutions données ci-dessus ne fonctionnent pas pour moi. J'ai résolu ce problème en accédant à Eclipse -> Aide -> Rechercher les mises à jour, puis en redémarrant eclipse une fois la mise à jour terminée.

Amrit Pal Singh
la source
1

Si vous avez accidentellement fermé les projets de bibliothèque essentiels à l'exécution de votre projet, ouvrez-les simplement dans eclipse. Cette erreur doit disparaître.

Ganesh Hegde
la source
0

Un autre cas: j'ai fermé le projet en cours (avec un message d'erreur de construction), jeté le référentiel SVN utilisé, recompiler:

Erreur de construction

J'ajoute l'emplacement du référentiel:

Construire ok!

Séraphins
la source
0

Pour résoudre ce problème, je dois exécuter eclipse en tant qu'administrateur

Edrian
la source
-1

J'ai rencontré ce problème récemment et les solutions données ci-dessus n'ont pas fonctionné pour moi. je n'avais aucun fichier sans extensions. Il se trouve qu'après avoir ajouté un nouveau projet à partir du code existant, il y a eu une erreur de configuration qui semble avoir gâché l'état d'éclipse. Après cela, tout projet de l'espace de travail que j'ai essayé de nettoyer ou de créer donnait l'erreur de pré-compilateur Android avec l'exception java.lang.NullPointerException.

J'ai trouvé que les fichiers main.xml à l'intérieur du répertoire / res n'étaient pas trouvés pour une raison quelconque, même si le fichier était très présent. La solution consistait à fermer toutes les perspectives de fichiers ouvertes dans le panneau d'édition Java d'Eclipse, à fermer tous les projets, puis à ouvrir le projet et à ouvrir le fichier xml principal. Après avoir fait cela, le problème du pré-compilateur a disparu.

sri_s
la source