Tento fazer algum trabalho em um projeto Android no qual não trabalhei por alguns meses, mas toda vez que tento construir o projeto, o Eclipse exibe uma caixa de diálogo dizendo:
'Building workspace' has encountered a problem
Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'XXX'
java.lang.NullPointerException
Estou executando o Eclipse em um Mac com um projeto Android build target 4.0.3 (API de nível 15) e tenho as seguintes versões de coisas instaladas
- Eclipse - 3.7.2
- Ferramentas de desenvolvimento Android - 21.0.1
- Android SDK - até 17
Já tentei algumas coisas, como iniciar um novo espaço de trabalho, instalar este 'Subversive SVN JDT Ignore Extensions', atualizar tudo, ter certeza de que não tenho nenhum arquivo sem extensões na minha pasta de origem (ou em qualquer outro lugar), garantindo que meu compilador Java seja 1.6 e desligando-o e ligando-o novamente.
EDITAR
Aqui está o rastreamento de pilha do log de erros do Eclipse para este problema:
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)
E os dados da sessão:
eclipse.buildId = M20120208-0800 java.version = 1.6.0_37 java.vendor = Apple Inc. Constantes do BootLoader: OS = macosx, ARCH = x86_64, WS = cocoa, NL = en_US Argumentos da estrutura: -keyring /Users/onemick/.eclipse_keyring -showlocation Argumentos da linha de comando: -os macosx -ws cocoa -arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation
OUTRA EDIÇÃO
OK, então mais pesquisas me levaram a esta página , o que sugere que esse problema está definitivamente relacionado à presença de arquivos sem extensão em meu projeto - no entanto, não sei qual arquivo e por mais que eu não consiga encontrar qualquer nesse projeto!
Eu ficaria feliz se alguém pudesse explicar o que significa esse erro e como posso obter mais informações de depuração sobre o erro subjacente.
fonte
Respostas:
Para aqueles que não desejam instalar a versão de visualização do ADT, há uma solução alternativa descrita aqui .
Tive o mesmo problema com a pasta .git , funcionou perfeitamente.
fonte
Sempre detesto responder às minhas próprias perguntas, mas esta é uma solução genuína.
A versão 21.0.1 das ferramentas ADT tem um bug que impede a construção de um projeto se você tiver arquivos sem extensões. Este é um problema particular para usuários (como eu) que usam o subversion com arquivos sem extensão.
Uma solução recomendada é instalar esses plug-ins 'subversivos' do Eclipse (Ajuda> Instalar novo software> Trabalhar com seu site de versão Eclipse> Expandir 'Colaboração'> Escolha 'Subversive SVN JDT Ignorar Extensões' e 'Subversive SVN Team Provider'), mas isso não aconteceu não funciona para mim (estou no Indigo, talvez no Juno funcione).
A solução é instalar o 21.1 versão de visualização das ferramentas ADT e do gerenciador SDK do Google. Instruções claras podem ser encontradas aqui e você pode ler todo o histórico e adicionar sua voz à multidão de desenvolvedores aqui .
fonte
Acabei de reiniciar o Eclipse e o problema foi resolvido.
fonte
Também tive o mesmo problema e percebi que tinha fechado outro projeto que estava relacionado com o que eu estava construindo. Assim que abri, tudo desapareceu.
fonte
Pode ser que você tenha fechado a biblioteca 'appcompact_v7' para criar um novo arquivo. isso resolveu meu problema abrindo-o de volta
fonte
Encontro este erro e apago todos os arquivos .svn, meu projeto não funciona, quando processo 55%
e acho que este é um diretório res vazio no meu projeto, não sei como ele vem, mas quando excluo o dir res vazio, meu projeto funcionou,
então, você deve verificar todos os seus arquivos em seu projeto.
fonte
Eu também estava enfrentando o mesmo problema e perdi muito tempo corrigindo isso, também as soluções fornecidas acima não funcionam para mim. Resolvi esse problema indo para Eclipse -> Ajuda -> Verificar atualizações e reiniciando o Eclipse após a conclusão da atualização.
fonte
Se você acidentalmente fechou os projetos de biblioteca essenciais para a execução de seu projeto, basta abri-los no Eclipse. Este erro deve desaparecer.
fonte
Outro caso: fechei o projeto atual (com mensagem de erro de construção), descartei o repositório SVN em uso, recompilei:
Erro de construção
Eu adiciono o local do repositório:
Construindo ok!
fonte
Para resolver este problema, preciso executar o Eclipse como administrador
fonte
Eu encontrei esse problema recentemente e as soluções fornecidas acima não funcionaram para mim. eu não tinha nenhum arquivo sem extensões. Acontece que após adicionar um novo projeto a partir do código existente, ocorreu um erro de configuração que parece ter bagunçado o estado de eclipse. Depois disso, qualquer projeto no espaço de trabalho que eu tentasse limpar ou construir apresentava o erro do pré-compilador Android com java.lang.NullPointerException.
Eu descobri que os arquivos main.xml dentro do diretório / res não foram encontrados por algum motivo, embora o arquivo estivesse muito lá. A solução foi fechar todas as perspectivas de arquivos abertos no painel de edição Eclipse Java, fechar todos os projetos e, em seguida, abrir o projeto e abrir o arquivo xml principal. Depois de fazer isso, o problema do pré-compilador foi embora.
fonte