Android java.lang.NoClassDefFoundError - PullRequest
       9

Android java.lang.NoClassDefFoundError

55 голосов
/ 26 марта 2012

У меня есть проект Android в IDE Eclipse, который работал. После некоторых импортов и тестов я получаю ошибку: java.lang.NoClassDefFoundError.

В моем проекте у меня есть два пакета: основной и второй с некоторыми классами.

Когда я пытаюсь создать экземпляр объекта из второго класса пакета в основном классе активности, я получаю эту ошибку.

Вот логкат:

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.neurospeech.wsclient.MDPIforEditorialBoard
at milos.mdpi.Journals.<init>(Journals.java:41)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1409)
at android.app.Instrumentation.newActivity(Instrumentation.java:1040)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4389)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)

Нашел решение моей проблемы:

Решение можно найти здесь: http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

Ответы [ 8 ]

55 голосов
/ 26 марта 2012

Вы недавно обновили свой плагин для затмения Android (adt r17)?Тогда может помочь следующая ссылка:

Как исправить ошибку classdefnotfounderror с помощью adt-17

Обновление: с момента возникновения вопроса прошел год.Я сохраню ссылку, потому что даже в 2013 году она, похоже, поможет некоторым людям решить проблему.Но, пожалуйста, позаботьтесь о том, что вы делаете, см. Комментарий Erics ниже.Текущая версия ADT - 22, я рекомендую использовать самую последнюю версию.

27 голосов
/ 20 июля 2013

Отредактируйте путь сборки в этом порядке, у меня это сработало.

Убедитесь, что /gen раньше /src

enter image description here

17 голосов
/ 20 июня 2013

Я исправил проблему, просто добавив частные библиотеки основного проекта для экспорта здесь:

Project Properties->Java Build Path->Order And Export

И убедитесь, что проверены частные библиотеки Android.1007 *

enter image description here

Убедитесь, что google-play-services_lib.jar и google-play-services.jar проверены.Очистите проект и повторите его, и исключение classNotfound исчезнет.

1 голос
/ 16 апреля 2015

Попробуйте перейти к Project -> Properties -> Java Build Path -> Order & Export И Подтвердите, что частные библиотеки Android проверены для вашего проекта и для всех других проектов библиотеки, которые вы используете в своем приложении.

1 голос
/ 13 декабря 2013

Вы также можете получить эту ошибку, если попытаетесь включить jar, скомпилированный с jdk 1.7 вместо 1.6.

В моем случае я понял это, пытаясь упаковать свое приложение с помощью сценариев Ant, предоставляемых SDK, вместо ADT, и я заметил эти ошибки, которые ADT не показывал мне:

  [dex] Pre-Dexing libjingle_peerconnection.jar -> libjingle_peerconnection-2f82c9bf868a6c58eaf2c3b2fe6a09f3.jar
   [dx]
   [dx] trouble processing:
   [dx] bad class file magic (cafebabe) or version (0033.0000)
   [dx] ...while parsing org/webrtc/StatsReport$Value.class
   [dx] ...while processing org/webrtc/StatsReport$Value.class

Я перекомпилировал свой jar с jdk 1.6, и ошибка была исправлена.

1 голос
/ 20 августа 2013

Я несколько раз сталкивался с этой проблемой, открывая старые проекты, включающие другие библиотеки Android.Для меня работает следующее:

переместить Android наверх во вкладке Порядок и экспорт и отменить его выбор.

Да, это действительно имеет значение.Может быть, мне пора отказаться от ADT для Android Studio!

1 голос
/ 02 июля 2013

Imaage

Перейдите в раздел «Заказ и экспорт из свойств проекта» и убедитесь, что вы включили необходимые файлы в экспорт, это было сделано для меня

0 голосов
/ 26 августа 2015

После проверки пути сборки Java, затем добавьте строки кода в файл манифеста.

<meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
...