У меня есть несколько проектов, в которых есть некоторые локально разработанные библиотеки; эти библиотеки отличаются от того, чтобы быть довольно статичными, чтобы гибко обновляться по мере того, как растут их приложения.Лучшая схема проекта с несколькими библиотеками в Android Studio
Для целей отладки/обновления полезно иметь их как часть моего проекта (при выпуске новой версии библиотеки я могу проверить/обновить библиотеку при необходимости, если обнаружены ошибки при запуске основных проектов приложений).
Для целей строительства больно, что при перестройке проекта он также перестраивает (иногда большие) библиотеки.
С моей точки зрения, было бы идеально, если бы некоторые из библиотек могли быть настроены так, чтобы не перестраивать и не чистить, если это явно не сделано. Или если бы я мог переключать их между библиотеками JAR/AAR и полными модулями.
В этот момент я задаюсь вопросом, есть ли лучший способ.
Итак, если вы хотите включить в проект библиотеку (для целей редактирования/обновления), но не хотите, чтобы она постоянно перестраивалась, есть ли способ и что такое лучшая практика?
FWIW, основная структура я в настоящее время является:
MainApp
- конкретной платформы код
- Библиотека для приложения (обычно на платформе независим код, специфичный для приложения)
- Local Utils lib (может быть довольно динамичным, но часто идет за дни/недели без изменений)
- Другие локальные утилиты (довольно статические, иногда обновляемые)
Извинения за задержку в ответе ... Является ли это означать, что я могу внести изменения в исходные файлы библиотеки, когда мне нужно во время запуска моего основного проекта? Я просто пытаюсь понять, является ли это еще одним способом связывания библиотеки/банки. – RabidMutant
Работает так, как мы работаем с зависимостью от удаленного сервера, как maven central. Преимущество в том, что мы можем изменить библиотечный код и опубликовать его в локальном кэше maven. Каждый раз, когда мы меняем код библиотеки, нам нужно переиздать его на нашем локальном maven, тогда нам просто нужно повторно синхронизировать основной проект с использованием последнего кода библиотеки. –
Кроме того, если вы не хотите использовать последний код из библиотеки (что-то вроде версии x.y.z), вы можете использовать версию x.y.y, которая ранее была опубликована. –