У меня возникла проблема с обработкой зависимостей IntelliJ в отношении внешних модулей. Вот какой-то контекст:Android NoClassDefFound при ссылке на класс из внешних библиотек (IntelliJ IDEA 12)
Я пишу приложение для Android, которое реализует Карты Google. Для моего текущего набора функций мне нужны две внешние библиотеки - Библиотека Служб Службы Google и mapex (Третья библиотека расширений google map, расположенная здесь https://code.google.com/p/mapex/). Я фактически построил большую часть этого проекта в Android Studio, прежде чем мне было рекомендовано перейти на IntelliJ из-за более легкой обработки зависимостей. Но теперь я здесь и все еще испытываю проблемы.
Моя ошибка
При попытке создать объект из класса, расположенный в MAPEX пакете (com.androidnatic.maps), я получаю эту ошибку при запуске активности мнение содержится в (объекте еще не создан):
07-03 11:40:35.837: ERROR/dalvikvm(3585): Could not find class 'com.androidnatic.maps.SimpleMapView', referenced from method com.example.myproject.MapActivity.showHeatMap
и затем, после создания, мое приложение силы закрывается и оставляет это позади в LogCat:
7-03 11:40:45.467: ERROR/AndroidRuntime(3585): FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.androidnatic.maps.SimpleMapView at com.example.myproject.MapActivity.showHeatMap(MapActivity.java:492)
Но я полностью в тупике, потому что моя IDE дает мне никаких признаков того, что что-то не так! Классы автоматически заполняются при попытке доступа к ним из MyProject.
ide-fill-in http://www.tonyandrys.com/img/fillin.jpg
Нет сборки ошибок о недостающих классов, отсутствующих модулей, определений классов, или что-нибудь связаны между собой.
Получаю те же результаты, если я попытаюсь получить доступ к классу через его полное имя пакета.
// No dice.
final SimpleMapView mapView = new SimpleMapView(this, "apikey");
final com.androidnatic.maps.SimpleMapView mapView = new com.androidnatic.maps.SimpleMapView(this, "apikey");
Похоже, что проблема связана с тем, что приложение работает на моем телефоне, насколько это касается моей IDE.
Вот структура MyProject:
main-project-structure http://www.tonyandrys.com/img/mainstructure.jpg
Вот настройки моего основного проекта зависимостей (где я предполагаю я облажался где-то): project-structure http://www.tonyandrys.com/img/projectstructure.jpg
А вот структура MAPEX библиотечный модуль:
mapex-lib http://www.tonyandrys.com/img/mapexstructure.jpg
Класс файлы, которые я пытаюсь получить в Live MapExLib/gen и MapExLib/src, которые в настоящее время отмечены как исходные каталоги (синий).
Есть ли у кого-нибудь идеи о том, как исходить отсюда?
'File-> Invalidate caches' и попробуйте еще раз , – Simon
Просто попробовал это: 'File -> Invalidate Caches', IntelliJ restarted,' Build -> Rebuild Project', затем запустил MyProject, но, к сожалению, он ничего не исправил. – aerotwelve
Извините. Ваша установка выглядит хорошо для меня. Надеюсь, что кто-то еще придет .. – Simon