Управление зависимостями библиотек в Android
У меня есть 5 проектов Android, все они имеют схожие зависимости, такие как Dagger, Retrofit, Rx и так далее. Существует ли стандартный способ управления версиями всех зависимостей, когда все проекты используют одну и ту же версию определенной библиотеки.
Образец:
implementation "com.google.dagger:dagger:${dagger_version}"
implementation "com.squareup.retrofit2:retrofit:${retrofitLibVersion}"
implementation "com.squareup.retrofit2:converter-gson:${retrofitLibVersion}"
implementation "com.squareup.retrofit2:converter-scalars:${retrofitLibVersion}"
В приведенном выше примере dagger_version
а также retrofitLibVersion
это то, что я хочу определить в одном месте и использовать его во всех проектах.
Любой вклад очень ценится.
1 ответ
Решение
Обычный подход состоит в том, чтобы определить их как ext
в вашем корневом проекте build.gradle:
ext {
dagger_version = '2.19'
retrofitLibVersion = '2.4.0 '
}
Этого также можно достичь, загрузив удаленный или локальный файл Gradle и apply
это к корневому проекту или к каждому подпроекту по мере необходимости:
apply from: 'versions.gradle'