web-dev-qa-db-fra.com

Gradle ne résout pas les dépendances dans Android Studio

Chaque fois que j'ajoute une dépendance à partir d'un référentiel distant (jcenter) dans Android Studio 1.1 (OS X), le message d'erreur suivant s'affiche lors de la synchronisation de Gradle:

Error:(26, 13) Failed to resolve: <packagename:version>

Le build.gradle de mon application est comme suit: appliquer le plugin: 'com.Android.application'

Android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "nl.timmevandermeer.cargoapp"
    minSdkVersion 19
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.Android.support:appcompat-v7:21.0.3'
     compile 'com.Android.support:support-v4:21.0.3'
     compile 'com.google.Android.gms:play-services:6.5.87'
     compile 'org.json:json:20141113'
}

J'ai essayé de changer de référentiels (jcenter (), mavenCentral (), etc.), de réinstaller Android Studio, JDK (7 et 8), de changer de version de Gradle et de version du SDK d'Android, mais aucun ne fonctionnait. En exécutant ./gradlew build, je reçois:

Could not resolve com.Android.tools.build:gradle:1.1.0.
13:48:04.914 [ERROR] [org.gradle.BuildExceptionReporter]      Required by:
13:48:04.915 [ERROR] [org.gradle.BuildExceptionReporter]          :CargoApp:unspecified
13:48:04.932 [ERROR] [org.gradle.BuildExceptionReporter] >
 org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

C’est une erreur que j’obtiens également dans d’autres cas, par exemple lorsqu’on essaie d’utiliser Intellij Idea au lieu d’Android Studio. L'exécution de l'application sans la dépendance fonctionne cependant.

22
Timme van der Meer

Un problème similaire ici, et lorsque je choisis Construire -> Nettoyer le projet .__, il y a une erreur "peer not authentified".

résolu en utilisant " http://jcenter.bintray.com/ " au lieu de " https://jcenter.bintray.com/ "

repositories {
    jcenter({url "http://jcenter.bintray.com/"})
}

j'espère que cela fonctionnera pour vous.

26
Ray Lee

J'ai eu un problème similaire avec une bibliothèque sur github, qui dit de l'installer en tant que:

dependencies {
    compile 'com.github.chrisbanes.photoview:library:1.2.4'
}

Cette solution de contournement semble fonctionner, même si elle est sous-optimale car elle ne récupère pas une version spécifique et entraîne des avertissements Android Studio: 

dependencies {
    compile 'com.github.chrisbanes.photoview:library:+'
}
14
kip2

Top build.gradle:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:1.1.3'
    }
}

App build.gradle:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "nl.timmevandermeer.cargoapp"
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     // compile fileTree(dir: 'libs', include: ['*.jar']) // <-- use gradle depedencies
     compile 'com.Android.support:appcompat-v7:22.0.0' // <-- brings in v4
    // compile 'com.google.Android.gms:play-services:7.0.0' // <-- will cause MultiDex exception, you need to choose which ones you want
    // compile 'org.json:json:20141113' // <-- Android comes with org.json
}

Problème multi-Dex:

compile 'com.google.Android.gms:play-services:7.0.0' est trop gros et ne doit pas être utilisé directement. Choisissez les modules que vous voulez ici: http://developer.Android.com/google/play-services/setup.html

2
Jared Burrows

Je suis derrière un pare-feu d'entreprise. J'avais mes paramètres http définis, mais pas mes paramètres https. J'ai donc ajouté ce qui suit à mon fichier gradle.properties:

systemProp.https.proxyPassword=...
systemProp.https.proxyHost=...
systemProp.https.nonProxyHosts=...
systemProp.https.proxyUser=...
systemProp.https.proxyPort=...
2
Tony D

Plutôt tard, mais probablement votre gradle fonctionne en mode hors connexion . Allez dans Fichier-> Paramètres-> Graduer et décochez le mode hors connexion . Ensuite, essayez d'actualiser le dégradé et cela devrait fonctionner

2
Klitos G.

Dans mon cas, j'ai ajouté ceci à mon build.gradle (module: app) :

compile 'com.github.glomadrian:velocimeterlibrary:1.1@aar' 

Cependant, cela m'a donné une erreur aujourd'hui. Ma solution est d'utiliser ceci à la place:

compile 'com.github.glomadrian:velocimeterlibrary:+'
0
Tri

Testé à UBUNTU - 14.04, 

>delete .androidstudio1.2 , .gradle , .Android  , Android studio project from home directory 
> Launch using studio.sh
>close the dialogue letting you choose new or old setting , just close it using that "x " button 
> then it will set up an virtual nexus 5 
>then there will be two errors saying problem about "sdk" and "gradle "
> Caution : choose the appropriate sdk version by clicking on the link given by where the problem is shown .
> close Android studio 
> reopen Android studio 
> then you will be thrown a possible  error with jdk not found .
>go to file -> project structure 
> give the path to jdk , in my case its "usr/local/Java/jdk..."
>close Android studio and open again , the gradle might work well after this .
0
erluxman