Библиотеки больше не добавляются в 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]()