web-dev-qa-db-fra.com

Après la mise à jour, les dépendances de Gradle n'ont pas pu être résolues

Après la mise à jour, les dernières dépendances contiennent les services firebase et play:

La configuration 'compiler' est obsolète et a été remplacée par 'implementation' et 'api'.

Il sera supprimé fin 2018. Pour plus d'informations, voir: http://d.Android.com/r/tools/update-dependency-configurations.html

Echec de la résolution: play-services-baseOpen File

Echec de la résolution: play-services-tasksOpen File

Echec de la résolution: play-services-statsOpen File

Echec de la résolution: play-services-ads-identifierOpen File

Echec de la résolution: play-services-basementOpen File

build.gradle (app) 

implementation 'com.google.firebase:firebase-messaging:17.0.0'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.Android.gms:play-services-analytics:16.0.0'
implementation 'com.google.Android.gms:play-services-maps:15.0.1'
implementation 'com.google.Android.gms:play-services-auth:15.0.1'
implementation 'com.google.Android.gms:play-services-places:15.0.1'

Comment puis-je résoudre?

10
Long Bui Duc

J'ai résolu le problème . C'est la solution 

1.add google() before jcenter()
2.exclude group:"com.google.Android.gms" in facebook sdk dependencies

Mon code Gradle: 

buildscript {
repositories {
    google()
    jcenter()
}

// something here ...

dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.3'
    classpath "io.realm:realm-gradle-plugin:3.1.1"
    classpath 'com.google.gms:google-services:4.0.1'
}
}

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

task clean(type: Delete) {
   delete rootProject.buildDir
}

Et Myapp/gradle:

repositories {
   maven { url 'https://maven.fabric.io/public' }
   google()
   jcenter()
}

dependencies {
implementation('com.crashlytics.sdk.Android:crashlytics:2.8.0@aar') {
    transitive = true
}

implementation ('com.facebook.Android:account-kit-sdk:4.28.0'){
    exclude group:"com.google.Android.gms"
}
implementation 'com.facebook.Android:facebook-Android-sdk:4.32.0'

implementation 'com.googlecode.libphonenumber:libphonenumber:8.9.4'
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.Android.support:cardview-v7:27.1.1'
implementation 'com.Android.support:recyclerview-v7:27.1.1'
implementation 'com.theartofdev.edmodo:Android-image-cropper:2.4.2'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

implementation 'com.Android.support:multidex:1.0.3'
implementation files('libs/glide-3.8.0.jar')
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation('com.squareup.okhttp:okhttp-urlconnection:2.3.0') {
    exclude group: 'com.squareup.okhttp', module: 'okhttp'
}
implementation('com.squareup.okhttp:okhttp:2.3.0') {
    exclude group: 'com.squareup.okio', module: 'okio'
}
implementation 'me.relex:circleindicator:1.2.2@aar'
implementation 'com.Android.support:exifinterface:27.1.1'

implementation 'com.google.firebase:firebase-messaging:17.0.0'
implementation 'com.google.firebase:firebase-database:16.0.1'

implementation 'com.google.Android.gms:play-services-analytics:16.0.0'
implementation 'com.google.Android.gms:play-services-maps:15.0.1'
implementation 'com.google.Android.gms:play-services-auth:15.0.1'
implementation 'com.google.Android.gms:play-services-places:15.0.1'

}
apply plugin: 'com.google.gms.google-services'
20
Long Bui Duc

J'ai le même problème et résolu par ceci:

Dans Gradle (projet), il suffit de changer la position de google() avant jcenter(), et Sync et l’erreur a disparu.

repositories {
    google()
    jcenter()
}
4
subhash gaikwad

Et voici l'explication. Quelqu'un a eu l'idée brilliant de télécharger sur JCenter uniquement la définition pom de com.google.Android.gms:play-services-basement:15.0.1, ce qui signifie que si JCenter était votre première option, il trouverait le fichier POM et tenterait de télécharger la AAR à partir du même emplacement, mais le fichier n'a pas été téléchargé à cet endroit. . En changeant d'abord l'ordre des référentiels avec google(), le POM et l'AAR seront correctement localisés dans le référentiel de Google.

Lancer gradle app:build à partir de la ligne de commande vous indiquerait ce que Android Studio ne fait pas:

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find play-services-basement.aar (com.google.Android.gms:play-services-basement:15.0.1).
  Searched in the following locations:
      https://jcenter.bintray.com/com/google/Android/gms/play-services-basement/15.0.1/play-services-basement-15.0.1.aar

Vous pouvez voir l'artefact sur le site Web de JCenter, il ne contient que le POM.

https://bintray.com/bintray/jcenter/com.google.Android.gms%3Aplay-services-basement#files/com%2Fgoogle%2Fandroid%2Fgms%2Fplay-services-basement%2F15.0.1

Alors que le référentiel Google a le jeu complet:

1
Dan Dar3