Библиотеки больше не добавляются в APK после перехода на ADT 22

У меня довольно большой проект приложений для Android, который ссылается на несколько проектов библиотеки. Все было нормально, пока я не обновил плагин Eclipse ADT до последней версии (v22). Конечно же, я обновил SDK. Я не вижу ошибок компиляции в eclipse, но когда я запускаю проект на телефоне, я получаю NoClassDefFoundError.

java.lang.NoClassDefFoundError: org.acra.ACRA
....

Библиотека arca включена в один из проектов библиотеки ссылок (в папке libs), и я могу увидеть ее в "Частных библиотеках Android" в проводнике пакетов, также, как я уже сказал, никаких ошибок компиляции. Проект отлично работает на всех компьютерах, которые не обновили ADT.

Я уже пробовал целую кучу вещей, включая, но не ограничиваясь:

  • переустановите SDK для Android.
  • скачать новый пакет ADT
  • удалить весь мой код и получить его снова из git
  • скопируйте соответствующую библиотеку в проект приложения
  • закомментируйте код, который использует эту библиотеку - я просто получаю ту же ошибку для следующей библиотеки

все без каких-либо успехов, поэтому я действительно отчаянный здесь.

Я был бы очень рад, если бы кто-нибудь мог дать мне подсказку о том, как решить эту проблему.

Ответ 1

Котировки улиц Бостона из его сообщение adt-dev:

При обновлении "Заказ и экспорт" нового "Android Private" Библиотеки не всегда проверяются. И андроид-поддержка-v4.jar теперь находится в это раздел "Частные библиотеки Android".

Чтобы исправить это, перейдите в раздел "Заказ и экспорт" и установите флажок "Android Private Библиотеки. Затем обновите/очистите/перестройте.

После выполнения этого" исправления "для проекта библиотеки вам может потребоваться просто закрыть и повторно открыть любой зависящий проект, потому что они могут не видеть это" исправление", немедленно.

Дайте этот снимок и, если повезет, он решит вашу проблему.

enter image description here

Ответ 2

Просто проверить личные библиотеки Android было недостаточно, мне также пришлось установить Android SDK Build-tools в Android SDK Manager.

Ответ 3

У меня была та же проблема, и мой adt был 22.0.1. И ни одно из вышеприведенных решений не работало. Кроме того, при добавлении проекта внешней библиотеки в рабочий проект. Я всегда проверяю папку gen рабочего проекта и если R проекта внешней библиотеки есть (вместе с именем пакета), тогда экспортируется только проект внешней библиотеки. И в моей папке gen была показана не packagename внешней библиотеки.

Итак, я проверил файл project.properties и не было никакой ссылки на внешнюю библиотеку, присутствующей android.library.reference.1=. Поэтому я вручную добавил туда ссылку на внешнюю библиотеку, хотя я добавил из project->properties->Java Build Path->Projects->Add. Поэтому вручную редактирование project.properties выполнило всю работу для меня.

enter image description here

Ответ 4

Я столкнулся с аналогичной проблемой, потраченной около 3 часов, но ни одно из предлагаемых здесь решений не помогло... Наконец, я нашел источник проблемы: мои файлы проекта и project.properties были доступны только для чтения. Eclipse просто молча игнорирует любые изменения в библиотечных зависимостях, когда я делаю это в графическом интерфейсе!

Ответ 5

У меня была та же проблема. Это было из-за проекта затмения. Чтобы решить эту проблему, я создал новый проект в eclipse, скопировал в него существующие классы и ресурсы проекта, а затем снова запустил eclipse и добавил, что мой заказ включает.

Ответ 6

У меня была аналогичная проблема, и мой ответ немного отличается от CommonsWare. Вот мой снимок экрана:

enter image description here

После проверки, что libs в моей сборке снова начал работать.

Ответ 7

У меня также была та же проблема,

i) добавить gson lib в качестве реферирования librairies
ii) проверить его в java Build Path http://i.stack.imgur.com/Gldhs.png