Ответ 1
Добавьте репозиторий google() в свой build.gradle. И убедитесь, что google() находится перед jcenter().
внезапно gradle не может собрать тот же код, который работал несколько минут назад! мой проект зависит от зависимости сервиса Google Play
это говорит:
Не удалось найти play-services-basement.aar(com.google.android.gms: play-services-basement: 15.0.1). Поиск производился в следующих местах: https://jcenter.bintray.com/com/google/android/gms/play-services-basement/15.0.1/play-services-basement-15.0.1.aar.
Я думаю, что файл AAR был удален из Google по ошибке
У кого-нибудь есть идеи, что происходит?
Добавьте репозиторий google() в свой build.gradle. И убедитесь, что google() находится перед jcenter().
Проблема, кажется, с jcenter. Я провел часы вместе с этой проблемой, и ваша проблема, кажется, похожа на мою, и я думаю, что следующее решение должно работать.
По некоторым причинам и для многих библиотек в jcenter файлы pom многих библиотек сохранены, но соответствующие файлы aar удалены. Это также относится и к библиотеке подвалов play-services. Проверьте здесь следующее для справки (pom файл play-services-basement доступен в jcentre здесь, но aar файл не доступен в jcentre здесь):
Решение. В файле Gradle уровня проекта измените следующий блок кода.
allprojects {
repositories {
jcenter()
google()
}
}
в
allprojects {
repositories {
google()
jcenter()
}
}
почему это работает?
В нашем первом блоке кода, когда gradle пытается разрешить зависимость в репозитории (в моем случае это был google-services-basement в репозитории jcentre), он не разрешается, поскольку соответствующие файлы aar были удалены. В результате сборка завершается с чем-то вроде:
Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:15.0.1).
В нашем втором блоке кода ссылка на репозиторий Google была раньше, чем на репозиторий jcenter. Когда начинается сборка gradle, она сначала просматривает библиотеки, перечисленные первыми в репозиториях {..., для поиска любой библиотеки, которая используется в проекте. Теперь, когда gradle пытается разрешить play-services-basement в jcenter, он успешно разрешает зависимости, так как соответствующий файл aar был сделан доступным из репозитория google (тот же файл aar последней версии недоступен в репозитории jcenter), который был ссылка до оценки хранилища jcenter. Проверьте и дайте мне знать, если это работает.
Работал
allprojects {
repositories {
google()
jcenter()
maven {
url 'https://jitpack.io'
}
maven {
url 'https://maven.google.com'
}
}