Votre projet contient des erreurs, veuillez le corriger avant de l'exécuter

187

Je développe une application Android simple. Mais lorsque j'exécute Eclipse, il affiche l'erreur suivante:

Votre projet contient des erreurs, veuillez le corriger avant de l'exécuter.

Je ne trouve aucune erreur dans mon projet ou il n'y a pas d'erreur dans ma candidature. Il y a une croix rouge sous le nom de l'application mais ce n'est pas sous un autre nom de fichier.

Quelqu'un d'autre a-t-il ce problème?

JackeyChan
la source
Malheureusement, rien de tout cela n'a fonctionné pour moi ... Créer de nouveaux projets et supprimer .android ... Apparemment, Eclipse a perdu certains paramètres et refuse d'exécuter un nouveau projet Java ou Android
JPM
3
Regardez toujours dans le panneau "Marqueur". Les erreurs y sont résumées.
Thorbjørn Ravn Andersen

Réponses:

220

Cela vient généralement d'erreurs dans le chemin de construction.

Si vous utilisez eclipse, vous pouvez ajouter une vue qui répertorie toutes les erreurs appelées "Problèmes":

entrez la description de l'image ici

Sinon, vous pouvez essayer de nettoyer le projet, ce qui résout généralement quelques problèmes.

Enfin, si vous ajoutez ou modifiez des ressources en dehors de votre IDE, vous voudrez recharger les ressources et nettoyer.

EDIT (Commentaire d'un utilisateur anonyme)

Cela peut également être dû à un «certificat de débogage» obsolète, corrigé comme suit:

SI TOUT ÉCHEC, CE GOTTA SOIT LA SOLUTION:

Supprimez votre certificat de débogage sous ~/.android/debug.keystore( sous Linux et Mac OS X); le répertoire est quelque chose comme %USERPROFILE%/.androidsur Windows.

Le plugin Eclipse devrait alors générer un nouveau certificat lors de la prochaine tentative de création d'un package de débogage. Vous devrez peut-être nettoyer, puis générer pour générer le certificat.

C'est également un autre correctif pour le "setContentView (R.layout.main);" erreur qui indique qu'il ne peut pas trouver R.layout.main lorsqu'il est réellement généré. (R ne peut pas être résolu en une variable).

Il s'agit également d'un autre correctif pour l'erreur "Votre projet comporte des erreurs ..." et vous n'en trouvez aucune. Le nettoyage et la reconstruction sont toujours nécessaires après la génération d'un nouveau certificat de débogage.

Jason Rogers
la source
5
Il est important de comprendre que les problèmes ne seront pas toujours signalés par rapport à un fichier de code source à un numéro de ligne. Les problèmes avec le projet dans son ensemble, comme les problèmes de chemin de construction, seront attachés au niveau du projet. Vous ne pourrez pas voir le texte du problème ailleurs que dans la vue Problèmes.
Konstantin Komissarchik
6
la clé de débogage expirée me fait généralement. chaque année. je devrais vraiment mettre un rappel dans mon calendrier ou quelque chose comme ça.
Harlo Holmes
Il corrige ma même erreur, au moins le x rouge a disparu du nom du projet.Merci ... grande aide
wocmultimedia
2
Clé de débogage
expirée
comment nettoyez-vous et reconstruisez-vous?
Ian Davis
35

Allez d'abord dans Fenêtre -> Afficher la vue -> Journaux d'erreurs dans le menu. Il affichera les journaux d'erreurs si vous en avez. Essayez ensuite de nettoyer le projet et de le reconstruire.

chikka.anddev
la source
C'est une bonne idée en général de garder cette vue d'erreur autour - et aussi d'essayer de corriger les avertissements qu'elle affiche.
Heiko Rupp
3
La vue Journal des erreurs montre un dysfonctionnement dans les plug-ins Eclipse. Il est utile pour signaler des problèmes, mais les entrées ne vont pas indiquer de problème dans le code de l'application utilisateur. Pour cela, vous voulez la vue Problèmes.
Konstantin Komissarchik
1
J'ai un problème similaire (mais avec NDK / C ++). Mes projets NDK + android se compilent avec succès, mais Eclipse ne permet pas de l'exécuter / de le déboguer. J'ai une erreur sur #include <list> (je n'ai pas ajouté le chemin STL aux ressources et je ne veux pas le faire). Comment cela pourrait-il être possible, existe-t-il une option pour le désactiver? Je veux voir ces «erreurs» pas si réelles, mais je veux exécuter l'application (qui ne contient PAS d'erreurs de compilation / liaison).
Krystian Bigaj
pour moi, le problème était le certificat de débogage. Et la suggestion d'ouvrir les fenêtres «problèmes» a également été utile. Je regardais sous la fenêtre "erreurs" qui ne montrait rien.
user590849
J'ai eu cette erreur dans le journal des erreurs: Erreur lors de la génération de l'archive finale: impossible d'obtenir la clé de signature de débogage.
Pratik Butani
13

Eh bien, dans mon cas, certaines bibliothèques ont été abordées deux fois dans:

Projet >> Propriétés >> Chemin de construction Java >> Bibliothèques

Je devais juste supprimer le duplicata et cela a bien fonctionné sans aucun nettoyage ni rafraîchissement.

Mahorade
la source
Décochez les fichiers jar de Projet >> Propriétés >> Chemin de construction Java >> Onglet Ordre et exporter
Ajay Takur
En cas d'erreur de symbole ATTENTION! montrer dans le projet. J'ai résolu les étapes suivantes projet >> propriétés >> Chemin de construction Java dans le panneau de gauche et sélectionnez les bibliothèques dans le fichier jar du panneau de droite (3 colonnes) est une erreur. Ajoutez simplement le fichier JAR dans le même dossier libs du projet dans la fenêtre contextuelle. supprimer le fichier lib erroné. Ça marche pour moi.
gnganpath
10

J'ai vu cela avec un projet existant. J'avais fait quelques modifications, mais je n'avais rien importé de nouveau. Le redémarrage d'Eclipse n'a pas aidé.

Project->Clean a résolu le problème.

Puissant
la source
6

Je rencontre souvent cette erreur lorsque j'importe un nouveau projet dans mon espace de travail.

Raison : Certains fichiers nécessaires (LikeR.Java) ne sont pas générés dans leurs packages respectifs.

Cure : Nettoyez et construisez des projets, tous les fichiers qui doivent être générés automatiquement seront sur place après la construction du projet.

Meilleure chance.

Prasham
la source
5

Cela m'est arrivé. Après le format de mon système,
lorsque j'importe un projet, il affiche la même erreur

supprimez le premier fichier debug.keystore puis allez -

Projet -> Propriétés du projet -> sélectionner la bibliothèque -> supprimer -> ajouter à nouveau des bibliothèques.

Cela fonctionne pour moi ......

user3209435
la source
4

Allez dans le menu des projets, cliquez sur l'élément de menu propre.

Après cela, fermez l'éclipse et rouvrez et essayez de compiler.

C'est un problème logiciel que vous rencontrez parfois.

Vinay
la source
4

cela peut également arriver si vous déplacez les fichiers requis. Vérifiez simplement l'affichage des problèmes (menu window -> show view -> Problems) comme indiqué ici

Filippo Mazza
la source
3

J'ai eu exactement le même problème. Une solution qui fonctionnerait serait de créer un tout nouveau projet, mais je ne pense pas que cela soit nécessaire. Pour moi, le problème était que le certificat de débogage généré automatiquement avait expiré. La suppression de ce fichier a permis à Eclipse de reconstruire ce fichier, ce qui a résolu le problème. Vous ne pouvez pas exécuter une application avec un certificat non valide, qu'il s'agisse d'un certificat de débogage ou de version. Notez que le nettoyage de mon projet n'a pas fonctionné. Pour plus d'informations, consultez: Erreur «Certificat de débogage expiré» dans les plug-ins Eclipse Android

Michael
la source
Vous n'êtes pas seul, voir aussi: stackoverflow.com/questions/8467835/…
Asmo Soinio
3

Récemment, je suis tombé sur cette erreur. J'étais vraiment dans un coin sans aide, puis j'ai compris. Cette erreur peut se produire pour les raisons suivantes:

  • Une erreur dans le code du projet
  • Lien incorrect des fichiers de bibliothèque externes au projet
  • Le plus important: si votre fichier debug.keystore est expiré.

Les 2 premiers cas sont facilement identifiables mais le troisième est comme chercher une boîte noire dans une pièce sombre.

Donc, en plus de Project -> Clean, supprimez également votre fichier debug.keystore.

J'utilise Mac + Eclipse donc pour supprimer, j'ai écrit la commande rm ~/.android/.debug.keystoredans un terminal.

Nikesh K
la source
3

Existe-t-il un moyen d'ignorer les erreurs existantes dans le projet. Quelque chose de similaire à ce que permet eclipse dans le cas de projets java.

Dans mon cas, les erreurs existent dans le répertoire jni. Les erreurs sont affichées même si ndk-buid réussit. Donc, tout ce que je veux faire, c'est ignorer les erreurs signalées par eclipse.

Si les erreurs sont effectivement des erreurs, alors je devrais obtenir des symboles non résolus lors de ndk-build.

Je me suis assuré que les inclusions Android standard sont présentes dans le chemin d'inclusion.

Mon projet est également de type android / c / c ++.

J'ai deux constructeurs associés au projet 1. constructeur android statndard 2. constructeur ndk personnalisé que ive a créé explicitement.

sharadendu sinha
la source
( eclipse.org/forums/index.php/t/274600 ) Allez dans Fenêtre-> Préférences-> C / C ++ -> Analyse de code et décochez les faux avertissements.
bartolo-otrit
2

Simulez une erreur en classe. Ensuite, enregistrez-le et il affichera plus d'erreurs que vous n'en avez simulé. Pour moi, c'était une importation incorrecte et cela a aidé.

Garçon de rue
la source
2

J'ai eu un problème similaire.

Sous l'onglet "problèmes", j'ai trouvé une erreur indiquant "Erreur lors de la génération de l'archive finale: le certificat de débogage a expiré le 2/22/12 1:49 PM"

Mon conseil est donc de regarder dans l'onglet problèmes pour obtenir plus d'informations.

Au revoir

Massimo Nicolardi
la source
1

Si aucune des solutions ci-dessus ne fonctionne, vous devez vérifier la READ ONLYpropriété du dossier Projet, s'il est en lecture seule, le compilateur ne pourra pas écraser les ressources, R.java et autres fichiers dex APK, etc. .. Cela m'est arrivé et je l'ai réparé après une longue lutte .. Bonne programmation.

Pervez Alam
la source
1

Pour une raison quelconque, l'éclipse n'a montré qu'un! erreur à la racine et n'a pas spécifié de quelle erreur il s'agissait. Allez dans Windows -> Afficher les vues -> Problèmes. Vous pouvez y trouver toutes les erreurs précédentes, les supprimer, effectuer une nouvelle génération et reconstruire à nouveau. Vous verrez les erreurs exactes.

Eclipse affiche une erreur sur le projet Android mais peut trouver l'erreur

Hemanshu
la source
1

J'ai eu ce problème exact en essayant d'exécuter l' application Doodlz , du livre Android for Programmers , sur Mac OS X avec Eclipse Juno .

Après avoir téléchargé et décompressé les démos du livre, j'ai oublié de modifier l'autorisation des fichiers. Ils étaient en lecture seule sur mon système, c'était donc le premier problème .

Le deuxième problème a été résolu en sélectionnant une cible de construction sur Eclipse. Cela a été résolu en accédant à: Projet> Propriétés et en cliquant sur le champ Android dans le panneau de gauche pour pouvoir sélectionner une option comme cible de construction du projet , ce qui dans mon cas était:

  Target Name     Vendor         Platform    API Level
> Google APIs     Google Inc.    4.0.3       15

Ensuite, le nettoyage et la reconstruction du projet n'ont montré aucune erreur.

Enfin, pour exécuter l'application, cliquez avec le bouton droit sur le package (dans l'onglet Explorateur de packages), puis sélectionnez: Exécuter en tant que> Application Android

karlphillip
la source
1

J'ai simplement supprimé mon certificat de débogage ~/.android/debug.keystoreet Project->Cleanrésolu le problème.

Shylendra Madda
la source
0

Supprimez le dossier .android de vos Documents & paramètres \ User \ sur XP et \ User \ sur Win7. Recréez à nouveau l'AVD et créez un nouveau projet.

2ème vie
la source
0

Ce qui a causé ce problème pour moi n'était rien de ce qui précède, mais simplement le fait que j'avais laissé l'attribut "debuggable" sur false dans le fichier manifest.xml après avoir effectué une version. Oh!

Bien sûr, ni le LogCat, le journal des erreurs, la console ou la fenêtre Problèmes ne m'ont alerté à ce sujet.

Ben Clayton
la source
0

J'ai eu la même erreur, lorsque j'ai copié un projet sur un autre ordinateur.

J'ai ensuite vérifié toutes les propriétés du projet sur les deux machines, et la seule chose qui était différente était l'ordre des éléments dans Java Build Path - onglet Order and Export.

J'ai déplacé les éléments Android XXX et Android Dependencies au-dessus des 2 autres dans la liste (dans mon cas, les dossiers src et gen) et voilà, cela a fonctionné à nouveau!

Je ne sais pas vraiment si l'ordre différent était réellement le problème, mais au moins le changer (et enregistrer à nouveau les propriétés) semblait aider ...

Dylan
la source
0

J'ai eu exactement le même problème après la mise à jour du SDK et de l'ADT. Mon problème a été résolu en supprimant le dossier .android (masqué) sousC:\Users\USERNAME\

Freddroid
la source
0

Cela m'est arrivé lorsque j'expérimentais avec Maven.

Projet de clic droit -> Maven -> désactiver la nature maven a corrigé le problème pour moi.

Vasudev
la source
0

Oui, c'est un message plutôt cryptique. Si vous avez un projet défectueux (disons celui sur lequel vous avez travaillé dans le passé), vous recevrez ce message (et aucun message dans les volets Problèmes / Journal des erreurs de votre projet actuel).

Vous voudrez peut-être simplement exécuter votre projet actuel. Cela peut être parfaitement bien. Cliquez simplement sur la flèche vers le bas à droite du bouton Exécuter pour sélectionner votre projet.

Snowcrash
la source
0

Essayez de changer votre espace de travail. Je ne suis pas sûr que ce soit la solution exacte. J'ai rencontré le même problème pendant un certain temps jusqu'à ce que je change mon espace de travail.

SajidKhan
la source
0

Dans mon cas, cela arrive avec ADT 22.

Je choisis de ne pas créer d'activité.

Après avoir supprimé le "appcompat_v7" en tant que projet de bibliothèque. Je travail.

Yeung
la source
0

J'ai eu un problème similaire où je ne pouvais pas exécuter mon projet mais je n'ai vu aucun problème dans le code. Dans le panneau Error Log, il était dit quelque chose comme "Impossible d'ajouter P / à la liste des segments P / in en tant que parent". Le redémarrage d'Eclipse a résolu le problème.

Luboš Staráček
la source