J'essaie d'utiliser Google Log in dans mon application mobile, mais je reçois une erreur après avoir suivi le didacticiel de Google.
"échec de la résolution: com.google.Android.gms: play-services-auth: 11.6.0"
Mes fichiers de grades:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.2.3'
classpath 'com.google.gms:google-services:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
et l'autre est:
apply plugin: 'com.Android.application'
apply plugin: 'com.google.gms.google-services'
Android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.myapp.myapp"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:25.1.0'
testCompile 'junit:junit:4.12'
compile 'com.google.Android.gms:play-services-auth:11.6.0'
}
Alors, qu'est-ce qui ne va pas ici et pourquoi je ne peux pas construire le projet?
J'ai eu le même problème et j'ai pu le résoudre en ajoutant maven { url "https://maven.google.com" }
à la liste des référentiels dans build.gradle au niveau projet, comme indiqué ci-dessous.
allprojects {
repositories {
jcenter()
maven { url "https://maven.google.com" }
}
}
Assurez-vous également de cette apply plugin: 'com.google.gms.google-services'
vient après vos dépendances pour éviter les problèmes de version.
Identifier le problème:
Il y a un conflit dans la version des bibliothèques, vous utilisez 'com.google.Android.gms:play-services-auth:11.6.0'
Et c'est la dernière version maintenant qui nécessitait une compatibilité compileSdkVersion
et targetSdkVersion
Pourquoi c'est arrivé?
La compilation lib
contient un niveau de api
supérieur à celui de votre application api
.
Solution:
Envoyez votre compileSdkVersion
également targetSdkVersion
vers la dernière version (maintenant c'est 27
), et votre com.Android.support
Aussi, pour être compatible avec ensemble app et libs.
Vous devez également ajouter google()
à vos référentiels:
repositories {
jcenter()
google()
}
.........
allprojects {
repositories {
jcenter()
google()
}
}
Remarque: La mise à jour de targetSdkVersion
n'est pas requise pour ce problème, mais il est préférable de créer une application ciblant un large éventail de périphériques.
Assurez-vous d'avoir téléchargé GooglePlay Services dans le SDK Manager.
S'il vous plaît, déplacez cette ligne:
apply plugin: 'com.google.gms.google-services'
à la fin du fichier gradle (il DOIT être à la fin)
En outre, vous pouvez mettre à niveau les versions:
classpath 'com.Android.tools.build:gradle:3.0.0'
classpath 'com.google.gms:google-services:3.1.1'
Ajoutez également google()
dans les référentiels:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.2.3'
classpath 'com.google.gms:google-services:3.1.0'}
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}