NoClassDefFoundError - Eclipse и Android - PullRequest
       39

NoClassDefFoundError - Eclipse и Android

194 голосов
/ 12 февраля 2010

У меня возникла проблема при попытке запустить приложение для Android, которое до добавления второй внешней библиотеки в путь сборки работало нормально. С тех пор как я добавил jar Scoreninja, теперь я получаю NoClassDefFoundError при попытке запустить приложение.

Вот сообщение:

02-11 21:45:26.154: ERROR/AndroidRuntime(3654): java.lang.NoClassDefFoundError: com.scoreninja.adapter.ScoreNinjaAdapter

Поскольку все сценарии сборки генерируются инструментами Android (?), Я не уверен, что еще я могу сделать, кроме очистки и восстановления или перезапуска затмения (я уже попробовал все три). Кто-нибудь знает, как я могу это исправить?

Ответы [ 27 ]

2 голосов
/ 06 июня 2013

Я попробовал все из этого поста (и некоторых других постов), и он не сработал для меня, это, безусловно, самое ужасное обновление ADT, которое я когда-либо испытывал, и я никогда не буду обновляться без работающего резервного копирования ADT.

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

2 голосов
/ 13 июня 2013

У меня была такая же ошибка с ADT22. Решено проверять «Частные библиотеки Android» в свойствах -> Путь сборки Java -> Порядок и экспорт. Если вы используете какие-либо библиотечные проекты, то же самое должно быть сделано и для них.

2 голосов
/ 01 февраля 2014

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

Мой проект android включает в себя еще один обычный проект java 1.6, для которого требуется сторонний jar-файл. Хитрость:

  • включите jar в обычный проект java для его компиляции (только), не проверяйте его на вкладке «Заказ и экспорт»
  • также скопируйте этот jar-файл в папку «libs» проекта android, чтобы он был доступен во время выполнения

Надеюсь, это поможет тем, у кого есть похожие сценарии, как у меня.

1 голос
/ 27 мая 2013

иногда вам нужно взять весь внешний проект как библиотеку, а не только банку:

Моя проблема решена путем добавления всего проекта (в моем случае google-play-services_lib) в виде библиотеки, а не только фляги. шаги к нему (от @ style answer ):

  1. File-> New-> Other
  2. Выберите проект Android
  3. Выберите «Создать проект из существующего источника»
  4. Нажмите кнопку «Обзор ...» и перейдите к Разыскиваемый проект
  5. Готово (теперь проект панели действий в вашем рабочем пространстве)
  6. Щелкните правой кнопкой мыши по вашему проекту -> Свойства
  7. В разделе Android-> Библиотека нажмите Добавить
  8. выбрать недавно добавленный проект -> Ok
1 голос
/ 13 декабря 2014

У меня была эта проблема, и она была вызвана тем, что она не «экспортировала» библиотеку. Проблема состояла только в том, что файлы .class для некоторых классов недоступны при упаковке APK. Время компиляции будет работать без вывоза

В моем случае я использовал класс "CusrsorAdapter", а в разделе "JavaBuildPath-> Order and Export" я не проверял поддержку V4 jar. Как только выбранная проблема исчезла.

Чтобы убедиться, что вы получаете ошибку noClassDefFound по вышеуказанной причине, пожалуйста, проверьте ваш logacat, вы увидите неизвестную ошибку суперкласса во время выполнения.

1 голос
/ 12 июня 2014

Иногда это происходит из-за того, что в вашем AndroidManifest.xml отсутствует тег jar, от которого вы зависите, с тэгом «метки-библиотеки».

Также убедитесь, что он должен быть внутри тега "application".

С уважением,

Ravi

0 голосов
/ 18 октября 2015

Как только вы достигли печально известной проблемы с лимитом в 64 КБ, вам нужно включить мультидекс.

Вот как ты это делаешь. https://developer.android.com/tools/building/multidex.html

0 голосов
/ 15 марта 2012

Я пробовал разные вещи, и причиной ошибки в моем случае был конфликт между maps.jar и Google Api в Java Build Path-> Libraries. Итак, когда я удалил maps.jar, он работал нормально.

С уважением,

Вахиб

0 голосов
/ 03 декабря 2013

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

Проект -> Свойства

Путь сборки Java / Порядок и экспорт

[✔] Ваша банка

0 голосов
/ 08 января 2014

Это случается довольно часто со мной.

Последнее, что я помню, было вызвано переключением Eclipse ADT (специальный выпуск Google) на Android Studio и переключением обратно.Я в основном перепробовал все методы, которые я могу найти в stackoverflow, которые не работали для меня.

В конце концов, я снова запустил приложение (больше не NoCalssDeffoundError), переключив мою IDE на оригинальный Eclipse (Kepler) с ADT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...