it-swarm.com.ru

Android gradle Не удалось разрешить: play-services-basement

внезапно 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 по ошибке

У кого-нибудь есть идеи, что происходит?

44
Ahmed Ali

Добавьте репозиторий google () в свой build.gradle. И убедитесь, что google () находится перед jcenter (). 

93
Jivy

Проблема, кажется, с jcenter. Я провел часы вместе с этой проблемой, и ваша проблема, кажется, похожа на мою, и я думаю, что следующее решение должно работать.

По некоторым причинам и для многих библиотек в jcenter файлы pom многих библиотек сохранены, но соответствующие файлы aar удалены. Это также относится и к библиотеке play-services-basement. Проверьте здесь следующее для справки (pom-файл play-services-basement доступен в jcentre здесь , но aar-файл недоступен в jcentre здесь ):

Solution: В файле 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. Проверьте и дайте мне знать, если это работает.

18
Abhishek Luthra

Работал

allprojects {
repositories {
    google()
    jcenter()
    maven {
        url 'https://jitpack.io'
    }
    maven {
        url 'https://maven.google.com'
    }

}
0
iman hoshmand