У меня есть приложения для Android A и B. Я хочу извлечь дубликат кода из каждого в общую библиотеку L. Как я могу сделать это с помощью Gradle? Я видел несколько вариантов этого вопроса, который задавали раньше, но ответов было очень мало.
Самый близкий / лучший из уже заданных вопросов:
Несколько приложений Android в зависимости от библиотеки Android с gradle
Первый ответ предлагает родительский проект, который включает в себя как приложения, так и библиотечный модуль. Это соединение нежелательно, отчасти потому, что A, B и L находятся в их собственном репозитории Git, но также потому, что это потребует наличия родительского проекта и файлов сборки, которые было бы трудно поместить в систему управления версиями (или потребовало бы ручного копирования другие проекты). Поскольку Android Studio по умолчанию любит родительскую сборку для одномодульных проектов ... Ну, это просто много родителей для того, что должно быть простой семьей. Это действительно похоже на ненужную связь между проектами, которые в остальном совершенно не связаны.
Второй ответ включает выпуск AAR в репо и ссылку на удаленную библиотеку в каждом проекте. Я был бы в порядке с этим подходом, поскольку у нас есть локальный репозиторий Nexus, но, похоже, нет простого способа сделать это без ручного управления версиями / именования и загрузки файлов (это неприемлемо). Я пытаюсь использовать плагин Sonatype gradle-release, но, похоже, он предназначен для JAR (не AAR).
Это просто похоже на множество движущихся частей, составляющих самую простую форму совместного использования кода между приложениями Android. Есть ли у кого-нибудь лучшее решение?