Подтвердить что ты не робот

Состояние управления зависимостями проекта Android

Мы стандартизируем нашу инфраструктуру для разработки 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.
4b9b3361

Ответ 1

С появлением Android Studio и Gradle мы больше не сталкиваемся с проблемами с зависимостями проекта; Android или иначе.

Gradle поддерживает зависимости Maven в форматах jar или apklib. Популярные библиотеки были экспортированы в формат apklib (aar) и доступны через Maven.

Ответ 2

Вы можете рассказать о том, как разработчики Android Android решают проблемы с зависимостями в этом видео: Как Facebook построил Facebook для Android.

Для этого они используют Buck. Buck - это система сборки для Android, которая поощряет создание небольших модулей многократного использования, состоящих из кода и ресурсов. Бак находится в github

Это может быть не лучшее решение для вас, а возможно для кого-то другого.