web-dev-qa-db-fra.com

Echec de la résolution Android: play-services-basement

soudainement gradle est incapable de construire le même code que celui qui fonctionnait il y a quelques instants! mon projet dépend des dépendances de service de Google Play

ça dit :

Impossible de trouver play-services-basement.aar (com.google.Android.gms: play-services-basement: 15.0.1) . Recherché dans les emplacements suivants: https://jcenter.bintray.com/com/google/Android/gms/play-services-basement/15.0.1/play-services-basement-15.0.1.aar

Je pense que le fichier aar a été supprimé de google par erreur

Est-ce que quelqu'un a une idée de ce qui se passe?

44
Ahmed Ali

Ajoutez un référentiel google () dans votre build.gradle. Et vérifiez que google () est avant jcenter (). 

93
Jivy

Le problème semble être avec jcenter. J'ai passé des heures ensemble avec ce problème et votre problème semble être similaire au mien et je pense que la solution suivante devrait fonctionner.

Pour une raison quelconque et pour de nombreuses bibliothèques dans jcenter, les fichiers pom de nombreuses bibliothèques sont conservés mais les fichiers aar correspondants ont été supprimés. C'est également le cas de la bibliothèque play-services-basement. Vérifiez les éléments suivants ici pour référence (le fichier pom de play-services-basement est disponible sur jcentre ici mais le fichier aar n’est pas disponible sur jcentre ici ):

Solution: Dans le fichier de niveaux de votre projet, modifiez le bloc de code suivant. 

allprojects {
    repositories {
        jcenter()
        google()
    }
}

à

allprojects {
    repositories {
        google()
        jcenter()
    }
}

pourquoi ça marche?

Dans notre premier bloc de code, lorsque gradle tente de résoudre une dépendance dans le référentiel (dans mon cas, il s'agissait de google-services-basement dans le référentiel jcentre), il n'a pas été résolu car les fichiers aar correspondants ont été supprimés. En conséquence, la construction échoue avec quelque chose comme:

 Could not find play-services-basement.aar (com.google.Android.gms:play-services-basement:15.0.1).

Dans notre deuxième bloc de code, le référentiel Google a été référencé avant le référentiel jcenter. Lorsque la création de gradle commence, elle recherche en premier lieu dans les bibliothèques répertoriées en premier dans les référentiels {... la résolution de toute bibliothèque utilisée dans le projet. Désormais, lorsque Gradle essaie de résoudre play-services-basement dans jcenter, il résout le problème de dépendance car le fichier aar correspondant a été mis à disposition par le référentiel Google (le même fichier aar de la dernière version n’est pas disponible dans le référentiel jcenter). référencé avant que le référentiel jcenter soit évalué. Vérifiez et faites-moi savoir si cela fonctionne.

18
Abhishek Luthra

EN a travaillé

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

}
0
iman hoshmand