Ссылка Android-приложения на проект библиотеки Android прервана после Maven-> Update Project

1

У меня есть проект андроида и проект библиотеки андроидов (мой собственный), от которого это зависит. Я использую maven, в том числе Maven- Android-плагин, для автоматической сборки, а Eclipse - как IDE, с m2eclipse и m2e-android - для соединения двух.

По большей части он отлично работает: я могу сделать maven-сборку из командной строки, а также построить из Eclipse.

Тем не менее, я полу-регулярно получаю ошибку сборки в Eclipse для основного проекта приложения Android, в котором говорится: "Конфигурация проекта не обновляется с помощью pom.xml. Запустите Maven-> Обновить проект или использовать Quick Fix.". Когда я это делаю, кажется, испортил относительный путь из приложения в проект библиотеки в файле project project.properties. В частности, относительный путь к проекту библиотеки изменяется от правильного к одному, что отражает относительное положение проектов в рабочей области Eclipse.

Пример: расположение диска выглядит следующим образом:

/ЛИЭС
-/my-lib
/Программы
-/my-app

Таким образом, правильный относительный путь от my-app к my-lib - это.. /../libs/my-lib.

Однако в моем рабочем пространстве Eclipse my-app и my-lib являются братьями и сестрами, а когда я делаю проект Maven- Update, он обновляет project.properties таким образом, что относительный путь к my-lib (т.е. "Android.library.reference. 1 = ") становится"../my -lib ".

В результате в Eclipse я получаю ошибки компиляции для всех ссылок в главном приложении в символы в проекте библиотеки. Если я перейду в диалоговое окно свойств Android в Eclipse, в нижней части, где перечислены проекты библиотек, в моем проекте библиотеки есть красный X рядом с ним. Если я удалю его и добавлю обратно, тем самым исправляя относительный путь в project.properties, тогда все будет хорошо.

Это своего рода неприятность. Любая идея, как его решить? Примечание: хотя изменения относительного пути, которые я описал, являются правильными, это только теория, что это связано с относительным положением проектов в рабочем пространстве Eclipse - это может быть совпадением.

  • 0
    Когда вы обновляете проект, он пытается получить новую версию библиотеки для использования? (sidenote - почему вы делаете maven-> update project?) Звучит как проблема с m2eclipse ...
  • 0
    Хм, возможно, он пытается получить новую версию, хотя новая версия будет в том же месте, что и старая версия. Я не уверен, как отслеживается ссылка из основного проекта на библиотечный проект под обложками. Это просто путь, или используется временная метка или контрольная сумма? Что касается вопроса sidenote - я выполняю Maven-> Update Project, когда меня заставляют это делать из-за ошибки сборки в Eclipse, хотя я еще не выяснил, что именно вызывает эту ошибку. Ошибка говорит что-то вроде «Конфигурация проекта устарела - запустите Maven-> Обновить проект».
Показать ещё 4 комментария
Теги:
maven
m2eclipse
android-maven-plugin

1 ответ

1
Лучший ответ

Это известная проблема и в настоящее время работает над:

https://github.com/rgladwell/m2e-android/issues/76

  • 0
    Спасибо за соединение точек, Рикардо. Я буду следить за этим вопросом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню