Обновление sdk получило NoClassDefFoundError для zxing

Как решить этот NoClassDefFoundError. Я включил Zxing в свое приложение, все работает нормально. Затем я обновил плагин sdk и eclipse, и когда я запускаю проект, журнал говорит

03-27 17:27:45.173: E/AndroidRuntime(8917): FATAL EXCEPTION: main 03-27 17:27:45.173: E/AndroidRuntime(8917): java.lang.ExceptionInInitializerError 03-27 17:27:45.173: E/AndroidRuntime(8917): at java.lang.Class.newInstanceImpl(Native Method) 03-27 17:27:45.173: E/AndroidRuntime(8917): at java.lang.Class.newInstance(Class.java:1429) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.os.Handler.dispatchMessage(Handler.java:99) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.os.Looper.loop(Looper.java:123) 03-27 17:27:45.173: E/AndroidRuntime(8917): at android.app.ActivityThread.main(ActivityThread.java:4627) 03-27 17:27:45.173: E/AndroidRuntime(8917): at java.lang.reflect.Method.invokeNative(Native Method) 03-27 17:27:45.173: E/AndroidRuntime(8917): at java.lang.reflect.Method.invoke(Method.java:521) 03-27 17:27:45.173: E/AndroidRuntime(8917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 03-27 17:27:45.173: E/AndroidRuntime(8917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 03-27 17:27:45.173: E/AndroidRuntime(8917): at dalvik.system.NativeStart.main(Native Method) 03-27 17:27:45.173: E/AndroidRuntime(8917): Caused by: java.lang.NoClassDefFoundError: com.google.zxing.ResultMetadataType 03-27 17:27:45.173: E/AndroidRuntime(8917): at records.model.CaptureActivity.<clinit>(CaptureActivity.java:94)` 

Solutions Collecting From Web of "Обновление sdk получило NoClassDefFoundError для zxing"

Мне не нужно было класть jar-библиотеку в активы или библиотеки, но только галочку для этой банки в поле «Свойства» -> «Путь сборки Java» -> «Заказ и экспорт» (он был указан ранее, но не выбран )

Возможно, вам придется выполнить проект> clean после этого, чтобы он вступил в силу! (Спасибо mwengler и Mohamed)

Перейдите в «Свойства» -> «Путь сборки Java» -> «Заказ и экспорт».

Затем закажите core.jar в первую позицию и выберите его!

Вы должны очистить свой проект после операции. Проект -> чистый

Это решит проблему

Вы ссылаетесь на класс com.google.zxing.ResultMetadataType в CaptureActivity.java в строке 94 но определение для этого класса не может быть найдено (ClassDefNotFound). Если он не может быть найден, он не должен находиться на вашем пути к классу.

Вероятно, на вашем диске есть файл .jar, содержащий com.google.zxing.ResultMetadataType (похоже, core.jar ), поместите это на путь класса вашего проекта, чтобы решить эту проблему.

По какой-то причине ADT больше не включает библиотеки из вашего пути сборки в сгенерированном файле .apk.

Чтобы исправить, создайте папку «libs» в корне вашего проекта (то есть: bin, src, assets, libs) и поместите там файл core.jar. Удалите все другие экземпляры из пути сборки, и все должно работать нормально.

NoClassDefFoundError – Eclipse и Android

Это сработало для меня (примерно через 8 часов). Ключ в том, что вам нужно создать папку libs в проекте CaptureClient , забросить в core.jar, а затем добавить ссылку на core.jar.

Затем из вашего проекта обратитесь к проекту CaptureClient.

Вау, это было примерно в миллион раз сложнее, чем должно было быть!

https://stackoverflow.com/a/2248017/1173800

Это означает именно то, что он говорит. Вы используете библиотечный код, который вы фактически не добавляли в свое приложение. Убедитесь, что содержимое core.jar из проекта является частью вашего проекта, как проект библиотеки.

У меня было то же самое со мной и с другим .jar также после обновления SDK и плагина.

Эндрюс ответил ниже со ссылкой stackoverflow.com/a/2248017/180295 с пунктами 3 и 4 работал для меня.

У меня была такая же проблема, но я использовал новую сборку Gradle и Adroid Studio.

Для меня это решило выйти за пределы Android Studio и сделать чистую и построить из командной строки с помощью gradle:

 gradle clean gradle assembleDebug 

И исключение NoClassDefFound волшебным образом ушло

В моем случае проблема заключалась в том, что у Android Build Tools у меня была версия 18, но мне нужно иметь Android Build 19 или более позднюю версию, потому что мне нужно, чтобы соответствие Eclipse JDK соответствовало 1.7 вместо 1.6 как CORE.JAR с использованием Java версии 1.7.

Я бы также предложил посмотреть сообщения в консоли Android в процессе сборки, и это даст вам представление о точной проблеме.

Добавьте файл core.jar в папку libs вашего проекта android и не добавляйте его в качестве внешней банки в путь сборки java.