Seu projeto contém erros, corrija-o antes de executá-lo

187

Estou desenvolvendo um aplicativo Android simples. Mas quando executo o Eclipse, ele mostra o seguinte erro:

Seu projeto contém erros, corrija-o antes de executá-lo.

Não consigo encontrar nenhum erro no meu projeto ou não há nenhum erro no meu aplicativo. Há uma cruz vermelha sob o nome do aplicativo, mas não com outro nome de arquivo.

Alguém mais tem esse problema?

JackeyChan
fonte
Infelizmente, nada disso funcionou para mim ... Criar novos projetos e excluir .android ... não funcionou. Aparentemente Eclipse perdeu alguma configuração e se recusa a executar qualquer novo projeto Java ou Android
JPM
3
Sempre procure no painel "Marcador". Os erros estão resumidos lá.
Thorbjørn Ravn Andersen

Respostas:

220

Isso geralmente vem de erros no caminho da compilação.

Se você estiver usando o eclipse, poderá adicionar uma exibição que lista todos os erros chamados "Problemas":

insira a descrição da imagem aqui

Caso contrário, você pode tentar limpar o projeto, e isso geralmente resolve alguns problemas.

Por fim, se você adicionar ou alterar recursos de fora do seu IDE, será necessário recarregá-los e limpá-los.

EDIT (Comentário por usuário anônimo)

Isso também pode ser causado por um "Certificado de depuração" desatualizado, corrigido da seguinte maneira:

SE TUDO FALHAR ENTÃO, ESTE PRECISA SER A SOLUÇÃO:

Exclua seu certificado de depuração em ~/.android/debug.keystore(no Linux e Mac OS X); o diretório é algo como %USERPROFILE%/.androidno Windows.

O plug-in do Eclipse deve gerar um novo certificado na próxima tentativa de compilar um pacote de depuração. Pode ser necessário limpar e criar para gerar o certificado.

Essa também é outra correção para o "setContentView (R.layout.main);" erro que diz que não é possível encontrar R.layout.main quando ele é realmente gerado. (R não pode ser resolvido para uma variável).

Essa também é outra correção para o erro "Seu projeto tem erros ..." e você não pode encontrar nenhum. A limpeza e a reconstrução ainda são necessárias após a geração de um novo certificado de depuração.

Jason Rogers
fonte
5
É importante entender que os problemas nem sempre serão relatados em um arquivo de código-fonte em um número de linha. Problemas com o projeto como um todo, como problemas no caminho da construção, serão anexados no nível do projeto. Você não poderá ver o texto do problema em nenhum outro lugar que não seja a exibição Problemas.
Konstantin Komissarchik
6
a chave de depuração expirada geralmente me faz entrar todos os anos. eu realmente deveria colocar um lembrete no meu calendário ou algo assim.
Harlo Holmes 15/03/12
Ela corrige a minha mesmo erro, pelo menos o vermelho x desapareceu de name.Thanks projeto ... grande ajuda
wocmultimedia
2
Chave de depuração expirada - simples assim :) Obrigado
6bytes 10/07/12
como você limpa e reconstrói?
19612 Ian Davis
35

Primeiro vá para Janela -> Mostrar Visualização -> Logs de Erros no menu. Ele exibirá logs de erro, se você tiver algum. Em seguida, tente limpar o projeto e construí-lo novamente.

chikka.anddev
fonte
É uma boa ideia, em geral, manter essa visão de erro por perto - e também tentar corrigir os avisos que ela mostra.
Heiko Rupp
3
A visualização Log de Erros mostra um mau funcionamento nos plug-ins do Eclipse. É útil para relatar problemas, mas as entradas não apontam para problemas no código do aplicativo do usuário. Para isso, você deseja a visualização Problemas.
Konstantin Komissarchik
1
Eu tenho problema semelhante (mas com NDK / C ++). Meus projetos Android NDK + são compilados com êxito, mas o Eclipse não permite executá-lo / depurá-lo. Estou com um erro em #include <list> (não adicionei o caminho STL aos recursos e não quero fazê-lo). Como isso é possível, existe uma opção para desativá-lo? Quero ver esses 'erros' não tão reais, mas quero executar o aplicativo (que NÃO contém erros de compilação / link).
Krystian Bigaj
para mim o problema foi o certificado de depuração. E a sugestão de abrir as janelas de "problemas" também foi útil. Eu estava olhando sob a janela "erros" que não estava mostrando nada.
user590849
Eu recebi este erro no log de erros: erro ao gerar o arquivo final: não foi possível obter a chave da assinatura de depuração.
Pratik Butani
13

Bem, no meu caso, algumas bibliotecas foram abordadas duas vezes no:

Projeto >> Propriedades >> Caminho de Construção Java >> Bibliotecas

Eu apenas tive que remover a duplicata e funcionou bem, sem nenhuma limpeza ou atualização.

Mahorad
fonte
Arquivos jar Desmarque do Projeto >> Propriedades >> Java Build Path >> guia Ordem e Exportação
Ajay Takur
No caso de ATENÇÃO Erro de símbolo! mostrar no projeto. Resolvi as seguintes etapas: projeto >> propriedades >> Caminho de compilação Java no painel esquerdo e seleção de bibliotecas no arquivo jar do painel direito (3 colunas) com erro. Basta adicionar o arquivo JAR na mesma pasta libs do projeto no pop-up. excluir arquivo lib com erro. Funciona para mim.
gnganpath
10

Eu vi isso com um projeto existente. Eu fiz algumas edições, mas não havia importado nada de novo. Reiniciar o Eclipse não ajudou.

Project->Clean resolveu o problema.

Poderoso
fonte
6

Me deparei com esse erro frequentemente quando importo um novo projeto no meu espaço de trabalho.

Razão : Alguns arquivos necessários (LikeR.Java) não são gerados em seus respectivos pacotes.

Cura : limpe e crie projetos. Todos os arquivos que precisam ser gerados automaticamente estarão no local após a criação do projeto.

Boa sorte.

Prasham
fonte
5

Isso aconteceu comigo. Após o formato do meu sistema,
ao importar projeto, ele mostra o mesmo erro

remova o primeiro arquivo debug.keystore e vá para -

Projeto -> Propriedades do projeto -> selecione biblioteca -> remover -> adicione novamente bibliotecas.

Está trabalhando para mim ......

user3209435
fonte
4

Vá para o menu de projetos, clique no item de menu limpo.

Depois disso, feche o eclipse e reabra e tente compilar ..

É uma falha de software que você encontra algumas vezes.

Vinay
fonte
4

isso também pode acontecer se você mover os arquivos necessários. Basta verificar a seção Problemas (menu window -> show view -> Problems), conforme indicado aqui

Filippo Mazza
fonte
3

Eu tive exatamente o mesmo problema. Uma solução que funcionaria seria criar um novo projeto, mas acho que não há necessidade disso. Para mim, o problema era que o certificado de depuração gerado automaticamente havia expirado. A exclusão deste arquivo permitiu ao Eclipse reconstruir esse arquivo, o que resolveu o problema. Você não pode executar um aplicativo com um certificado inválido, seja um certificado de depuração ou versão. Observe que a limpeza do meu projeto não funcionou. Para obter mais informações, consulte: Erro "Certificado de depuração expirado" nos plug-ins do Eclipse Android

Michael
fonte
Você não está sozinho, veja também: stackoverflow.com/questions/8467835/…
Asmo Soinio
3

Recentemente me deparei com este erro. Eu estava realmente em um canto sem ajuda, então eu descobri. Este erro pode ocorrer pelos seguintes motivos:

  • Um erro no código do projeto
  • Vinculação incorreta de arquivos de biblioteca externos ao projeto
  • Mais importante: se o seu arquivo debug.keystore expirou.

Os dois primeiros casos são facilmente identificáveis, mas o terceiro é como procurar uma caixa preta em um quarto escuro.

Portanto, além de Projeto -> Limpar, remova também o arquivo debug.keystore.

Estou usando o Mac + Eclipse, então para remover, escrevi o comando rm ~/.android/.debug.keystoreem um terminal.

Nikesh K
fonte
3

Existe uma maneira de ignorar os erros existentes no projeto. Algo semelhante ao que o eclipse permite no caso de projetos java.

No meu caso, os erros existem no diretório jni. Os erros são mostrados mesmo que o ndk-buid tenha êxito. Então, tudo que eu quero fazer é ignorar os erros relatados pelo eclipse.

Se os erros são realmente erros, eu deveria obter símbolos não resolvidos durante o ndk-build.

Eu garanto que o Android padrão inclui existem no caminho de inclusão.

Também meu projeto é do tipo android / c / c ++.

Eu tenho dois construtores associados ao projeto 1. statndard android builder 2. construtor ndk personalizado que foi criado explicitamente.

sharadendu sinha
fonte
( eclipse.org/forums/index.php/t/274600 ) Vá para Janela-> Preferências-> C / C ++ -> Análise de código e desmarque avisos falsos.
bartolo-otrit
2

Simule-se algum erro na aula. Em seguida, salve-o e ele mostrará mais erros do que você simulou. Para mim, foi uma importação incorreta e isso ajudou.

Streetboy
fonte
2

Eu tive um problema semelhante.

Na guia "problemas", encontrei um erro dizendo "Erro ao gerar o arquivo final: certificado de depuração expirado em 2/22/12 1:49 PM"

Portanto, meu conselho é procurar na guia de problemas para obter mais informações.

Tchau

Massimo Nicolardi
fonte
1

Se nenhuma das soluções acima funcionar, verifique a READ ONLYpropriedade da pasta Projeto, se for Somente Leitura, o compilador não poderá sobrescrever os recursos, R.java e outros arquivos dex APK etc e, portanto, isso ocorrerá .. Isso aconteceu comigo e eu consertei depois de uma longa luta .. Programação feliz.

Pervez Alam
fonte
1

Por alguma razão, o eclipse mostrou apenas a! erro na raiz e não especificou qual era o erro. Vá em Windows -> Mostrar exibições -> Problemas. Você pode encontrar todos os erros anteriores lá, excluí-los, fazer uma compilação limpa e compilar novamente. Você verá os erros exatos.

Eclipse mostra um erro no projeto Android, mas pode encontrar o erro

Hemanshu
fonte
1

Eu tive esse problema exato ao tentar executar o aplicativo Doodlz , do livro Android for Programmers , no Mac OS X com o Eclipse Juno .

Depois de baixar e descompactar as demos do livro, esqueci de alterar a permissão dos arquivos. Eles eram somente leitura no meu sistema, então esse foi o primeiro problema .

O segundo problema foi resolvido selecionando um destino de construção no Eclipse. Para corrigir isso, acesse: Projeto> Propriedades e clique no campo Android no painel esquerdo para poder selecionar uma opção como o Destino de Construção do Projeto , que no meu caso era:

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

A limpeza e reconstrução do projeto não mostraram erros.

Por fim, para executar o aplicativo, clique com o botão direito do mouse no pacote (na guia Package Explorer) e selecione: Executar como> Aplicativo Android

karlphillip
fonte
1

Simplesmente excluiu meu certificado de depuração ~/.android/debug.keystoree Project->Cleanresolveu o problema.

Shylendra Madda
fonte
0

Exclua a pasta .android de Documents & settings \ Usuário \ no XP e \ Usuário \ no Win7. Recrie o AVD novamente e crie um novo projeto.

2ndlife
fonte
0

O que causou esse problema para mim não foi nenhuma das opções acima, mas simplesmente o fato de eu ter deixado o atributo "debuggable" como false no arquivo manifest.xml após a liberação. D'oh!

Obviamente, nem a janela LogCat, Log de erros, Console ou Problemas me alertou para isso.

Ben Clayton
fonte
0

Eu tive o mesmo erro quando copiei um projeto para outro computador.

Em seguida, verifiquei todas as propriedades do projeto em ambas as máquinas, e a única coisa diferente era a ordem dos itens no Java Build Path - guia Order and Export.

Movi os itens Android XXX e Android Dependencies acima dos outros 2 da lista (no meu caso, pastas src e gen) e pronto, funcionou novamente!

Não tenho muita certeza se a ordem diferente foi realmente o problema, mas pelo menos alterá-la (e salvar as propriedades novamente) pareceu ajudar ...

Dylan
fonte
0

Eu tive exatamente o mesmo problema depois de atualizar o SDK e o ADT. Meu problema foi resolvido excluindo a pasta .android (oculta) emC:\Users\USERNAME\

Freddroid
fonte
0

Isso aconteceu comigo quando eu estava experimentando o Maven.

Clique com o botão direito do mouse em projeto -> Maven -> desativar a natureza maven corrigida para mim.

Vasudev
fonte
0

Sim, esta é uma mensagem bastante enigmática. Se você tiver um projeto com defeito (por exemplo, um que esteja trabalhando no passado), receberá essa mensagem (e nenhuma mensagem nos painéis de registro de erros / erros do seu projeto atual).

Você pode apenas querer executar seu projeto atual. Isso pode estar perfeitamente bem. Basta clicar na seta para baixo à direita do botão Executar para selecionar seu projeto.

Snowcrash
fonte
0

Tente alterar seu espaço de trabalho. Não tenho certeza se esta é a solução exata. Eu enfrentei o mesmo problema por algum tempo até eu mudar meu espaço de trabalho.

SajidKhan
fonte
0

No meu caso, isso acontece com o ADT 22.

Eu escolho não criar Atividade.

Depois de remover o "appcompat_v7" como projeto de biblioteca. Eu trabalho.

Yeung
fonte
0

Eu tive um problema semelhante em que não podia executar meu projeto e ainda não vi nenhum problema no código. No painel Log de erros, dizia algo como "Não é possível adicionar P / à lista de segmentos P / in como pai". Reiniciar o Eclipse resolveu o problema.

Luboš Staráček
fonte