Après avoir migré d’Android Studio 3.0 (Canary 5) vers Android Studio 3.0 (Bêta 1) et passé à la dernière version, c.-à-d. 'com.Android.tools.build:gradle:3.0.0-beta1'
Lorsque j'essaie de modifier la synchronisation, le message d'erreur ci-dessous s'affiche.
Failed to resolve: com.Android.support:multidex:1.0.2
Failed to resolve: com.Android.support:multidex-instrumentation:1.0.2
Je vérifie sur Android Studio 3.0 Canary 9 - Échec de la résolution des paquets , cela ne résout pas le problème, car je l'ai déjà
maven {
url 'https://maven.google.com'
}
Je suis surpris qu'il demande même multidex 1.0.2, comme je ne l'ai que dans mon build.gradle
compile 'com.Android.support:multidex:1.0.1'
Je vérifie en utilisant ./gradlew app:dependencies | grep multidex
, il montre les échecs comme ci-dessous (à travers différentes saveurs, etc.)
+--- com.Android.support:multidex-instrumentation:1.0.2 FAILED
+--- com.Android.support:multidex:1.0.1
+--- com.Android.support:multidex:1.0.2 FAILED
+--- com.Android.support:multidex:1.0.1 -> 1.0.2 FAILED
D'où viennent les dépendances de multidex:1.0.2
et multidex-instrumentation:1.0.2
? Comment pourrais-je résoudre ce problème?
Apparemment, mon problème est que je devrais poster ceci:
maven {
url 'https://maven.google.com'
}
dans allprojects
et non dans buildscript
(la différence subtile m'a aveuglé où le problème se pose), qui ressemble alors à ceci:
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
}
}
Merci à M D pour les pointeurs!
Pour moi, la solution est de déplacer l'élément google () vers le haut pour s'assurer qu'il se trouve avant le jcenter () . Et en fait, je mettrai le google () à la première place de tous les dépôts.
Besoin d'ajouter ce qui suit aussi:
compiler 'com.Android.support:multidex:1.0.3'
Après avoir ajouté la ligne ci-dessus, cela a fonctionné pour moi en plus de la réponse ci-dessus
allprojects {
repositories {
google()
}
}
a travaillé pour moi au lieu de
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
}
}
Vous devez d’abord nettoyer le projet, puis le reconstruire.
Build ----> Projet propre
Build ----> Projet de reconstruction
si vous êtes en Chine, veuillez utiliser
allprojects {
respositories {
google()
}
}
à la place
allprojects {
respositories {
maven {
url 'https://maven.google.com'
}
}
}
ne me demandez pas pourquoi, je ne veux pas vous dire… peut être ' https://maven.google.com ' a été sélectionné par GFW?
L'ajout de google () dans tous mes projets a résolu mon problème ...
allprojects {
repositories {
jcenter()
google()
}
}
Déplacez l'élément google () pour vous assurer qu'il se trouve avant le jcenter ().
repositories {
jcenter()
google()
}
Si aucune des solutions ci-dessus ne fonctionne, alors ajoutez mavenLocal()
:
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
mavenLocal()
google()
}
}
Mettez à jour toutes les dépendances de gradles vers la dernière version ..
mon problème était la connexion réseau. Je devais me connecter à un serveur VPN pour me connecter à jcenter