79 votes

Gradle Build Android Project "Impossible de résoudre toutes les dépendances" erreur

J'essaie de construire mon premier projet avec Gradle et je pense que mes fichiers gradle et mes paramètres sont corrects.

J'utilise un seul module et les bibliothèques Support V4 + AppCompatBar.

Projet - build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}

Projet - settings.gradle

include ':AssignmentTempos21'

Module principal - build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }
}

dependencies {
    compile "com.android.support:support-v4:18.0.+"
    compile "com.android.support:appcompat-v7:18.0.+"
}

Sortie de la console avec l'option -i :

MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
      > Could not find any version that matches com.android.support:support-v4:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified
      > Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

Total time: 40.787 secs

0 votes

Veuillez vous rendre sur cette question et l'étoile. Il semble qu'il y ait beaucoup de problèmes parce qu'il y avait beaucoup de bibliothèques non publiées de jCenter.

95voto

kmg Points 795

Comme Peter le dit, ils ne seront pas dans Maven Central.

à partir du gestionnaire SDK Android, téléchargez le "Android Support Repository" et un repo Maven des bibliothèques de support sera téléchargé dans votre répertoire SDK Android (voir le dossier "extras").

pour déployer les bibliothèques dans votre dépôt local .m2, vous pouvez utiliser maven-Android-sdk-deployer

Edition 2017 :

vous pouvez désormais référencer le repo M2 en ligne de Google

repositories {
google()
jcenter()
}

12 votes

Le téléchargement de "Android Support Repository" à partir de "Android SDK Manager" résout définitivement ce problème que j'ai rencontré dans les projets Android Studio 0.4.3. Il ne reste plus qu'à regretter un message de dépréciation de la part de Gradle, mais c'est une autre histoire, alors j'ouvre le site web de Gradle. cette question

0 votes

Pourriez-vous m'expliquer étape par étape : Je veux dire d'abord télécharger maven-android-sdk-deployer Le deuxième quoi ?

0 votes

@H.Aqjn J'ai réorganisé la réponse pour qu'elle soit un peu plus lisible (je pense). Si vous utilisez Gradle, vous devriez pouvoir télécharger le dépôt de support depuis le gestionnaire de SDK.

50voto

user2433523 Points 449

Allez à l'endroit où vous avez installé Android Studio (pour moi, c'est sous C:\Users\username\AppData\Local\Android\android-studio\ ) et ouvrir sdk\tools puis exécutez android.bat . À partir de là, mettez à jour et téléchargez tous les outils de construction manquants et assurez-vous de mettre à jour le dépôt d'assistance Android et la bibliothèque d'assistance Android sous Extras. Redémarrez Android Studio après la fin de l'installation du SDK Manager.

Il semble qu'Android Studio ignore complètement les fichiers SDK Android installés et conserve une copie des siens. Après avoir exécuté une mise à jour, tout s'est compilé avec succès pour moi en utilisant compile com.android.support:appcompat-v7:18.0.+

8 votes

Cela m'a vraiment aidé car je m'attendais à ce qu'Android Studio utilise le SDK Android que j'avais installé manuellement sur ma machine. Le fait que l'IDE utilise son propre SDK Android au lieu d'utiliser celui défini par le développeur est vraiment ennuyeux. Le SDK devrait être séparé de l'IDE.

13 votes

Je n'avais AUCUNE idée qu'Android Studio avait sa propre version du SDK sous AppData. C'est super déroutant !

0 votes

J'ai dû installer Extras/Android Support Library, redémarrer SDK Manager et ensuite Android Support Repository est apparu.

27voto

friederbluemle Points 796

Si vous utilisez un système de CI sans tête et que vous installez le SDK Android en ligne de commande, assurez-vous d'inclure les paquets m2repository dans le fichier de configuration. --filter argument :

android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository

Mise à jour

Depuis Android SDK Manager rev. 22.6.4, cela ne fonctionne plus. Essayez plutôt ceci :

android list sdk --all

Vous obtiendrez une liste de tous les paquets SDK disponibles. Recherchez les valeurs numériques des composants de la première commande ci-dessus ("Google Repository" et d'autres que vous pourriez manquer).

Installez les paquets en utilisant leurs valeurs numériques :

android update sdk --no-ui --all --filter <num>

Mise à jour n°2 (septembre 2017)

Avec les "nouveaux" outils Android SDK qui ont été publiés plus tôt cette année, la android est désormais obsolète, et une fonctionnalité similaire a été déplacée vers un nouvel outil appelé sdkmanager :

Liste des composants installés :

sdkmanager --list

Mettez à jour les composants installés :

sdkmanager --update

Installer un nouveau composant (par exemple, la version des outils de construction) 26.0.0 ):

sdkmanager 'build-tools;26.0.0'

0 votes

Merci pour cette belle ligne de commande ! Malheureusement, maintenant (Android SDK Manager rev. 22.6.4 (à partir de About dans GUI)) la réponse que j'obtiens est : Error: Ignoring unknown package filter 'platform-tools' également pour 'android-19' y 'extra-android-support' . A la vôtre !

0 votes

J'obtiens "Le dossier SWT '/opt/Android-sdk-linux/tools/lib/arm' n'existe pas".

3 votes

Merci pour l'astuce. J'ai couru : android list sdk --all |grep -i repos cela me donne "98-Android Support Repository, revision 6" y "106-Google Repository, revision 11" . Puis j'ai installé les deux paquets en exécutant android update sdk -u -a -t 98,106 qui a finalement résolu le problème (j'utilise adt-bundle-linux-x86-20140702.zip, je ne sais pas de quelle version du SDK Manager il s'agit).

5voto

Peter Niederwieser Points 36369

Ces dépendances n'existent pas dans Maven Central ( voir ceci ).

1voto

user1145905 Points 31

Pour faire écho à @friederbluemle, vous pouvez aussi simplement lancer le gestionnaire de SDK à partir de la ligne de commande si vous avez installé les outils SDK Android :

$ android

puis, dans l'interface utilisateur qui s'affiche, sélectionnez les outils/référentiels qui doivent être installés - dans votre cas, le dépôt de la bibliothèque de soutien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X