Poprawka: java.lang.NoClassDefFoundError



Wypróbuj Nasz Instrument Do Eliminowania Problemów

Błąd „java.lang.NoClassDefFoundError bez wyraźnego powodu” to dość dobrze znany błąd, który może wystąpić z jednego z dwóch powodów. Pierwszym powodem, dla którego może wystąpić błąd „java.lang.NoClassDefFoundError bez widocznej przyczyny”, są przestarzałe narzędzia programistyczne systemu Android, które muszą zostać zaktualizowane przez użytkownika. Poważniejsze okoliczności, w których występuje ten błąd, to sytuacja, gdy określona klasa (lub klasa, na której opiera się określona klasa), która była dostępna dla programu w czasie kompilacji, nie może zostać znaleziona przez program w czasie wykonywania.



Ten problem jest tak samo problematyczny, jak jest powszechny, a większość programistów Java chce go naprawić, gdy tylko się pojawi. Oto dwie poprawki, które działały dla użytkowników Android Development Tools, którzy cierpieli z powodu tego problemu w przeszłości:



METODA 1: Wyczyść projekt

Utwórz kopię zapasową projektu, który ma zostać wyczyszczony. Chociaż czyszczenie jest ogólnie dość bezpieczne, zawsze lepiej jest zapobiegać niż przyjmować leki.



1. Przejdź do sekcji „Projekt” na pasku narzędzi.

2. Wybierz „Wyczyść” z rozwijanego menu.

3. W oknie, które zostanie otwarte później, zaznacz „Wyczyść projekty wybrane poniżej”.



4. Wybierz projekty, które mają zostać wyczyszczone.

5. Kliknij „OK”.

NoClassDefFoundError1

METODA 2: Sprawdź wszystkie niezaznaczone biblioteki w ścieżce budowania

Znajdź folder, w którym znajdują się biblioteki .jar. Ten folder powinien nosić nazwę „libs”. Jeśli zamiast tego folder nosi nazwę „lib”, kliknij folder prawym przyciskiem myszy, kliknij opcję „Refaktoryzuj”, a następnie wybierz opcję „Zmień nazwę”. Zmień nazwę folderu na „libs”.

Kliknij prawym przyciskiem myszy projekt, który wyświetla błąd „java.lang.NoClassDefFoundError bez widocznej przyczyny”, wybierz opcję „Ścieżka budowania”, a następnie wybierz opcję „Konfiguruj ścieżkę budowania”.

Przejdź do karty „Zamów i eksportuj”.

Zaznacz pola obok wszystkich bibliotek .jar (takich jak „gcm.jar” i „libGoogleAnalyticsV2.jar”), które nie są jeszcze zaznaczone.

Wyczyść projekt ponownie.

javalangnoclassdeffonderror2

1 minuta czytania