Много внешних библиотек
После появления более трех модулей в приложении становится сложновато отслеживать, какие либы и какой версии были подключены
Существует несколько способов их упорядочить:
• общий модуль с зависимостями
подключение библиотек обычно осуществляется через ключевое слово implementation
— оно подключает библиотеку только в текущий модуль
но если заменить его на api (например, api "androidx.core.coroutine:1.0.0"), то доступ к библиотеке получат все модули, которые подключат текущий модуль
минусы: чтобы расфасовать библиотеки по группам, нужно создавать несколько модулей-хранителей. больно
• отдельный gradle-файл
создаем пустой gradle-файл. например, dependencies.gradle
записываем в него версии и названия либ через создание переменных:
ext.libs {
myLibVersion : "1.1.1",
myLib : "androidx.my.lib:$myLibVersion"
}
подключаем в нужный gradle-файл созданный список:
apply from: "${project.rootDir}/dependencies.gradle"
готово, можно подключать библиотеку, используя переменные из dependencies.gradle:
implementation libs.myLib
• version catalog
тот же фокус, что и с отдельным gradle-файлом, но с другим синтаксисом и .toml файлами
• gradle plugin
если в двух словах — тут можно написать все на чистом Kotlin
наследуемся от org.gradle.api.Plugin<*>
и... конфигурируем проект под себя
а после в нужном gradle-файле подключаем плагин через
plugins {
'my-custom-plugin'
}
....