Давайте рассмотрим следующий раздел build.gradle
файла
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
Хотя я не очень хорошо разбираюсь в точных различиях между google()
, jcenter()
и mavenCentral()
- согласно этому посту ( хранилища сценариев сборки Android: jcenter VS mavencentral ) jcenter()
является расширенный набор mavenCentral()
- таким образом, можно ожидать, что будет по крайней мере некоторое перекрытие поддерживаемых библиотек в google()
, jcenter()
и mavenCentral()
.
Теперь возникает вопрос, найден ли нужный репозиторий во всех 3.
implementation 'some_cool_library_found_in_all_3:1.0.0'
Как Gradle узнает, какой из них "правильный" для загрузки и установки? Есть ли какая-то простая эвристика (например, идти сверху вниз). Или библиотеки и версии стандартизированы каким-либо протоколом для google()
, jcenter()
и mavenCentral()
- что делает его неуместным, откуда мы получаем нашу библиотеку.