Solució: java.lang.NoClassDefFoundError



Proveu El Nostre Instrument Per Eliminar Problemes

El 'java.lang.NoClassDefFoundError no motiu aparent' és un error bastant conegut que es pot produir per una de les dues raons. El primer motiu pel qual es pot produir 'java.lang.NoClassDefFoundError sense cap motiu aparent' es deu a les eines de desenvolupament d'Android obsoletes que l'usuari ha d'actualitzar. Les circumstàncies més greus en què se sap que es produeix aquest error és quan una classe determinada (o la classe en què es basa una determinada classe) que estava disponible per al programa durant el temps de compilació no pot ser trobada pel programa en temps d'execució.



Aquest problema és tan problemàtic com habitual, i la majoria de programadors de Java volen solucionar-lo tan aviat com sorgeixi. Bé, les següents són dues correccions que han funcionat per als usuaris de les eines de desenvolupament d'Android que han patit el problema en el passat:



MÈTODE 1: Netejar el projecte

Feu una còpia de seguretat del projecte que cal netejar. Tot i que la neteja és generalment força segura, la prevenció sempre és millor que la medicació.



1. Aneu a la secció 'Projecte' de la barra d'eines.

2. Seleccioneu 'Neteja' al menú desplegable.

3. A la finestra que s'obre posteriorment, marqueu 'Neteja els projectes seleccionats a continuació'.



4. Seleccioneu els projectes que cal netejar.

5. Feu clic a 'D'acord'.

NoClassDefFoundError1

MÈTODE 2: comproveu les biblioteques no marcades del camí de construcció

Cerqueu la carpeta on es troben les biblioteques .jar. Aquesta carpeta s'hauria de dir 'libs'. Si la carpeta es diu 'lib', feu clic amb el botó dret a la carpeta, feu clic a 'Refactor' i seleccioneu 'Canvia el nom'. Canvieu el nom de la carpeta per 'libs'.

Feu clic amb el botó dret del ratolí al projecte que mostra l'error 'java.lang.NoClassDefFoundError sense motiu aparent', trieu 'Construeix ruta' i, a continuació, seleccioneu 'Configura ruta de construcció'.

Aneu a la pestanya 'Ordena i exporta'.

Marqueu les caselles que hi ha al costat de les biblioteques .jar (com ara 'gcm.jar' i 'libGoogleAnalyticsV2.jar') que encara no estan marcades.

Torneu a netejar el projecte.

javalangnoclassdeffonderror2

1 minut de lectura