Мы стандартизируем нашу инфраструктуру для разработки Android, и мы пытаемся включить управление зависимостями в наши проекты в библиотеке Android. Мой текущий трек использует плагин maven android с m2e-android. Мы загрузили артефакты Android в наш репозиторий Artifactory с помощью Android SDK Deployer. У нас также есть внутренняя структура с несколькими библиотеками, которые мы можем импортировать в наши проекты, и для большей части она отлично работает.
Проблема, с которой мы сталкиваемся сейчас, заключается в том, что зависимостей apklib, содержащих файлы ресурсов, сложно настроить. Плагин maven может правильно настроить путь к классам, но если apklib имеет файлы ресурсов, на которые должен ссылаться родительский проект Android, Eclipse не сможет их найти, если вы не проверите проект библиотеки и не привязаете его к родительскому проекту через ADT.
После чтения обсуждения m2e-android на вопрос https://github.com/rgladwell/m2e-android/issues/8, https://stackoverflow.com/info/6269816/creating-closed-source-android-libraries#answer-6270768 и APKLIB не устанавливается в Maven Repo, я не уверен, что maven - это путь, пока ADT не будет правильно поддерживать библиотеки apk с закрытым исходным кодом.
Я хотел бы знать, как вы управляете этими зависимостями от своих проектов Android. Какие стратегии существуют, кроме использования Maven?
Для справки, вот что мы пробовали до сих пор.
- Нет управления зависимостями. Все необходимые банки хранятся в папке lib и перемещаются в репозиторий управления версиями. Библиотечные проекты настраиваются как вложенные папки и переносятся на репозиторий управления исходным кодом для каждого проекта, в котором они используются. Также настроены настройки проекта Eclipse. Проект построен со стандартным ADT Ant script.
- Зависимости Jar в зависимостях папки lib и libs от подмодулей git. Проект построен со стандартным ADT Ant script.
- Управление зависимостями с maven, включая проекты библиотек с упаковкой apklib. Проблема с файлами ресурсов в apklib.