Correção: java.lang.NoClassDefFoundError



Experimente Nosso Instrumento Para Eliminar Problemas

O “java.lang.NoClassDefFoundError sem motivo aparente” é um erro bastante conhecido que pode ocorrer por um de dois motivos. A primeira razão pela qual o “java.lang.NoClassDefFoundError sem razão aparente” pode ocorrer é devido a ferramentas de desenvolvimento Android desatualizadas que precisam ser atualizadas pelo usuário. As circunstâncias mais sérias nas quais esse erro ocorre é quando uma classe específica (ou a classe na qual uma classe depende) que estava disponível para o programa durante o tempo de compilação não pode ser encontrada pelo programa em tempo de execução.



Esse problema é tão problemático quanto comum, com a maioria dos programadores de Java desejando consertá-lo assim que ele surgir. Bem, a seguir estão duas correções que funcionaram para usuários do Android Development Tools que sofreram com o problema no passado:



MÉTODO 1: Limpe o projeto

Faça backup do projeto que precisa ser limpo. Embora a limpeza geralmente seja bastante segura, a prevenção é sempre melhor do que a medicação.



1. Navegue até a seção “Projeto” na barra de ferramentas.

2. Selecione “Limpar” no menu suspenso.

3. Na janela que se abre posteriormente, marque “Limpar projetos selecionados abaixo”.



4. Selecione os projetos que precisam ser limpos.

5. Clique em “OK”.

NoClassDefFoundError1

MÉTODO 2: marque todas as bibliotecas não verificadas no Build Path

Encontre a pasta onde as bibliotecas .jar estão localizadas. Essa pasta deve ser chamada de “libs”. Se o nome da pasta for “lib”, clique com o botão direito do mouse na pasta, clique em “Refatorar” e escolha “Renomear”. Renomeie a pasta para “libs”.

Clique com o botão direito no projeto que está exibindo o erro “java.lang.NoClassDefFoundError sem motivo aparente”, escolha “Build Path” e selecione “Configure Build Path”.

Navegue até a guia “Pedido e exportação”.

Marque as caixas ao lado de quaisquer bibliotecas .jar (como “gcm.jar” e “libGoogleAnalyticsV2.jar”) que ainda não estão marcadas.

Limpe o projeto novamente.

javalangnoclassdeffonderror2

1 minuto lido