Comment corriger l'erreur Could not find com.android.tools.build:gradle:3

Comment corriger l'erreur Could not find com.android.tools.build:gradle:3 Si vous observez le message d'erreur lors de la construction d'une application, il faut modifier les dépôts. En effet, le dépôt de Google a changé avec la sortie de la version 3 de l'outil de build Gradle.

Le passage en version 3 de l'outil Gradle a considérablement modifié son fonctionnement. Certains mots-clés ont notamment changé et le fichier "build.gradle" a également connu des modifications. Le message d'erreur "Could not find com.android.tools.build:gradle:3" correspond à l'un de ces changements.

Si vous voyez ce message lors de la construction de l'application, il faut modifier les dépôts paramétrés. En effet, le dépôt de Google a changé avec la sortie de la version 3 de Gradle. Ce nouveau dépôt permet d'avoir des mises à jour plus rapides mais également plus réduites en taille. Auparavant, on déclarait la directive "maven" et on indiquait comme URL le lien vers le dépôt de Google.

maven {
  url 'https://maven.google.com'
}

Maintenant, il faut simplement utiliser la notation "google()" puis ajouter cette déclaration juste avant celle de jcenter(). Un mauvais ordre entre les deux notations peut produire également cette erreur. Vous devez utiliser cette notation dans deux emplacements du fichier : la section "buidscript" et la section "allprojects". Le fait de le mettre dans la section "buildscript" permet à Gradle de télécharger les services Google Play. La notation de la section "allprojects" correspond aux téléchargements d'autres librairies, notamment celles des paquets "android.arch" et "com.android.databinding". Pensez également à bien indiquer la bonne version de Gradle dans la section "dependencies".

buildscript {
  repositories {
    google() //Nouvelle notation qui remplace l'URL avec la direction "maven"
    jcenter()
  },
  dependencies {
      classpath 'com.android.tools.build:gradle:3.0.0' //Version de Gradle à indiquer
    }
}
…
allprojects {
  repositories {
    google()
    jcenter()
  }
}

Java