У меня довольно большой проект приложений для Android, который ссылается на несколько проектов библиотеки. Все было нормально, пока я не обновил плагин Eclipse ADT до последней версии (v22). Конечно же, я обновил SDK. Я не вижу ошибок компиляции в eclipse, но когда я запускаю проект на телефоне, я получаю NoClassDefFoundError.
java.lang.NoClassDefFoundError: org.acra.ACRA
....
Библиотека arca включена в один из проектов библиотеки ссылок (в папке libs), и я могу увидеть ее в "Частных библиотеках Android" в проводнике пакетов, также, как я уже сказал, никаких ошибок компиляции. Проект отлично работает на всех компьютерах, которые не обновили ADT.
Я уже пробовал целую кучу вещей, включая, но не ограничиваясь:
все без каких-либо успехов, поэтому я действительно отчаянный здесь.
Я был бы очень рад, если бы кто-нибудь мог дать мне подсказку о том, как решить эту проблему.
Котировки улиц Бостона из его сообщение adt-dev:
При обновлении "Заказ и экспорт" нового "Android Private" Библиотеки не всегда проверяются. И андроид-поддержка-v4.jar теперь находится в это раздел "Частные библиотеки Android".
Чтобы исправить это, перейдите в раздел "Заказ и экспорт" и установите флажок "Android Private Библиотеки. Затем обновите/очистите/перестройте.
После выполнения этого" исправления "для проекта библиотеки вам может потребоваться просто закрыть и повторно открыть любой зависящий проект, потому что они могут не видеть это" исправление", немедленно.
Дайте этот снимок и, если повезет, он решит вашу проблему.
Просто проверить личные библиотеки Android было недостаточно, мне также пришлось установить Android SDK Build-tools в Android SDK Manager.
Я столкнулся с аналогичной проблемой, потраченной около 3 часов, но ни одно из предлагаемых здесь решений не помогло... Наконец, я нашел источник проблемы: мои файлы проекта и project.properties были доступны только для чтения. Eclipse просто молча игнорирует любые изменения в библиотечных зависимостях, когда я делаю это в графическом интерфейсе!
У меня была та же проблема, и мой 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
в GUI - это не java build path
, а project
-> properties
-> Android
-> Library
-> Add...
Гоча .
У меня была та же проблема. Это было из-за проекта затмения. Чтобы решить эту проблему, я создал новый проект в eclipse, скопировал в него существующие классы и ресурсы проекта, а затем снова запустил eclipse и добавил, что мой заказ включает.
У меня была аналогичная проблема, и мой ответ немного отличается от CommonsWare. Вот мой снимок экрана:
После проверки, что libs в моей сборке снова начал работать.
Android Dependencies
были заменены Android Private Libraries
и могут существовать только по устаревшим причинам. Я думаю, это может быть удалено в любое время.
У меня также была та же проблема,
i) добавить gson lib в качестве реферирования librairies
ii) проверить его в java Build Path