Gson NoClassDefFoundError после обновления ADT и SDK Tools до v17

Сегодня я обновил свои ADT и SDK Tools до v17, и мои проекты с использованием библиотеки gson jar Google начали бросать NoClassDefFoundError. Вот вывод logcat:

> 03-22 12:30:58.941: E/AndroidRuntime(21672): FATAL EXCEPTION: main > 03-22 12:30:58.941: E/AndroidRuntime(21672): > java.lang.NoClassDefFoundError: com.google.gson.Gson 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.conn.XRequestHandler.connect(XRequestHandler.java:35) > 03-22 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.conn.XRequestHandler.makeRequest(XRequestHandler.java: > 29) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.bavul.XBaseWithConnectionActivity.makeRequest(XBaseWithConnectionActivity.java: > 46) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.ui.login.SplashScreenActivity.onCreate(SplashScreenActivity.java: > 36) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.Activity.performCreate(Activity.java:4465) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: > 1049) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread.performLaunchActivity(ActivityThread.java: > 1919) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: > 1980) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread.access$600(ActivityThread.java:122) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146) > 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.os.Handler.dispatchMessage(Handler.java:99) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > android.os.Looper.loop(Looper.java:137) 03-22 12:30:58.941: > E/AndroidRuntime(21672): at > android.app.ActivityThread.main(ActivityThread.java:4340) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > java.lang.reflect.Method.invokeNative(Native Method) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > java.lang.reflect.Method.invoke(Method.java:511) 03-22 12:30:58.941: > E/AndroidRuntime(21672): at com.android.internal.os.ZygoteInit > $MethodAndArgsCaller.run(ZygoteInit.java:784) 03-22 12:30:58.941: > E/AndroidRuntime(21672): at > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > dalvik.system.NativeStart.main(Native Method) 

есть идеи?

Сегодня я столкнулся с подобной проблемой.

Это исправило это для меня:

  • Удалите все проекты библиотеки Android и внешние банки из пути сборки.
  • Создайте в своем проекте папку с именем «libs».
  • Поместите все внешние .jars в эту папку, ADT теперь должен поместить их под «Android Dependencies».
  • Обычным способом повторно импортируйте все предыдущие проекты Android.

Проблема заключается в том, что внешние банки не помещаются в папку «libs» по умолчанию при использовании «Свойства» – «Java Build Path – Add External Jar», вместо этого они помещаются в «Связанные библиотеки» вместо «Android Dependencies», и это вызывает NoClassDefFoundError.

Чтобы узнать подробности, обратитесь к разделу «Работа с зависимостями в проектах Android» .

  1. Щелкните правой кнопкой мыши проект и выберите «Свойства»
  2. Перейдите в Java Build Path-Order и Export.
  3. Отметьте «Частные библиотеки Android»
  4. Нажмите «Проект, очистить»

Для SDK Tools 17 вам необходимо переименовать папку вашего библиотечного проекта с «lib» на «libs», как это предлагается здесь . Также взгляните на это .

На этом сайте есть самое простое решение, которое сработало для меня, установите флажок библиотеки в разделе «Заказ и экспорт».

http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

Я создал быстрый пост в своем блоге, объясняющий, как исправить эти проблемы. Это связано с библиотеками и изменениями, которые они сделали в отношении того, как Eclipse управляет библиотеками сейчас. Вы можете проверить его здесь, если хотите: http://xrigau.wordpress.com/2012/03/22/fix-some-problems-with-libraries-in-the-adt-17-plugin-10/

Проверить порядок и выбрать

 Project->Properties->Java build path->Order and Export: 

Заказать и выбрать:

 select Google APIs (optional) select Dependencies select Android Private Libraries [-] src [-] gen 

А в библиотеках вкладок:

Зависимости Частные библиотеки (jars в каталоге 'libs') Другие

Работал для меня!

Проверьте свою библиотеку gson в пути сборки. Возможно, gson libraty не являются доступными.

Это официальная ссылка, предоставленная Android Devs в Google. Перейдите к статье, если вы столкнулись с NoClassDefFoundException после обновления плагина и / или SDK

https://plus.google.com/115995639636688350464/posts/38o8ZA6xQK4

Загрузите банку GSON и сделайте как путь класса

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

 <uses-library android:name="com.google.gson" /> 
Intereting Posts
Запрос Bluetooth Bluetooth Low Energy не отправлен? Как остановить прокрутку родительского прокрутки, когда прокрутка прокрутки прокручивается в андроиде? «Невозможно разрешить ошибку символа« Запрос »для API-интерфейса facebook Graph Как получить подробную информацию о контакте в Android Как вы можете совместно использовать файлы cookie между DefaultHttpClient и WebView Как показать просмотр в режиме реального времени предварительного просмотра камеры во время записи видео? Есть ли простой способ получить уведомление об авторских правах, автоматически добавленное студией Android? Как сделать границу более гладкой Не получать onActivityResult () из подкласса ActionBarActivity Ошибки сборки APIDemos для Android Невозможно связать локальный 86XX для отладчика Строка JSON возвращается из веб-службы SOAP, не содержащей записей для таблицы Позиционирование холста Всегда ли RecyclerView.ViewHolder должен быть внутренним классом? Как сохранить файл jar внешним, но все еще использовать его классы в моем проекте Android?