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

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

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

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

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

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

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

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

7 ответов

Решение

Цитирую улицы Бостона из его поста adt-dev:

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

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

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

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

Недостаточно просто проверить частные библиотеки 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 сделал всю работу за меня.

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

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

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

введите описание изображения здесь

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

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

i) добавить библиотеку gson в качестве референдумных библиотек
II) проверить это в Java Build Pathhttps://stackru.com/images/22f35ce131d66dd72a55520e93fc523c910d0620.png

Другие вопросы по тегам