Android gradle Не удалось разрешить: play-services-basement - PullRequest
0 голосов
/ 23 октября 2018

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

Кто-нибудь есть какие-либо идеи, что происходит?

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

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

По некоторым причинам и для многих библиотек в jcenter файлы pom многих библиотек сохраняютсяна месте, но соответствующие файлы AAR были удалены.Это также относится и к библиотеке play-services-basement .Для справки проверьте следующее (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.Проверьте и дайте мне знать, если это работает.

0 голосов
/ 06 февраля 2019

IN работал

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

}
0 голосов
/ 23 октября 2018

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

...