У меня есть довольно большой проект Android App, который ссылается на несколько библиотечных проектов. Все было хорошо, пока я не обновил плагин eclipse ADT до последней версии (v22). Я также обновил SDK, конечно. Я не вижу никаких ошибок компиляции в Eclipse, но когда я запускаю проект по телефону, я получаю NoClassDefFoundError.
java.lang.NoClassDefFoundError: org.acra.ACRA
....
Библиотека arca включена в один из указанных библиотечных проектов (в папке libs), и я вижу ее в «Частных библиотеках Android» в проводнике пакетов, также, как я уже сказал, ошибок компиляции нет. Проект отлично работает на всех остальных компьютерах, которые не обновляли ADT.
Я уже пробовал целый ряд вещей, включая, но не ограничиваясь:
- переустановите Android SDK
- скачать свежий комплект ADT
- удалите весь мой код и получите его снова из git
- скопировать нужную библиотеку в проект приложения
- закомментируйте код, который использует эту библиотеку - я просто получаю ту же ошибку для следующей библиотеки
все безуспешно, так что я действительно отчаялся здесь.
Я был бы очень рад, если бы кто-нибудь дал мне подсказку о том, как решить эту проблему.
libs/
, но вы также можете проверить это на все случаи жизни, если вы добавите материал черезlibs/
несколько месяцев и забудете об этом.Недостаточно просто проверить частные библиотеки Android, мне также пришлось установить инструменты сборки Android SDK в Android SDK Manager.
источник
У меня была такая же проблема, и моя
adt
была22.0.1
. И ни одно из вышеуказанных решений не сработало. Далее при добавлении проекта внешней библиотеки в рабочий проект. Я всегда проверяюgen
папку рабочего проекта и, еслиR
есть проект внешней библиотеки (вместе с именем пакета), то экспортируется только проект внешней библиотеки. И на моейgen
папке не было никакойpackagename
внешней библиотеки.Поэтому я проверил
project.properties
файл, и не было никакой ссылки на внешнюю библиотекуandroid.library.reference.1=
. Поэтому я вручную добавил ссылку на внешнюю библиотеку, хотя и добавил изproject->properties->Java Build Path->Projects->Add
. Так что ручное редактированиеproject.properties
сделало всю работу за меня.источник
android.library.reference.n
является неjava build path
, аproject
->properties
->Android
->Library
->Add...
. Гоча .Я столкнулся с подобной проблемой, провел около 3 часов, но ни одно из предложенных здесь решений не помогло ... Наконец-то я нашел источник проблемы: мои файлы проекта и project.properties были доступны только для чтения. Eclipse просто тихо игнорирует любые изменения в библиотечных зависимостях, когда я делаю это в GUI!
источник
У меня такая же проблема. Это было из-за проекта затмения. Чтобы решить эту проблему, я создал новый проект в eclipse, скопировал в него существующие классы и ресурсы проекта, а затем снова запустил eclipse и добавил свои пользовательские включения.
источник
У меня была похожая проблема, и мой ответ немного отличается от ответа CommonsWare. Вот мой скриншот:
После проверки libs обратно в моей сборке снова начал работать.
источник
Android Dependencies
был заменен наAndroid Private Libraries
и может быть только там по наследственным причинам. Я думаю, это может быть удалено в любое время.У меня была такая же проблема,
i) добавьте gson lib в качестве ссылки на библиотеки
ii) отметьте его в java Build Path
источник