web-dev-qa-db-fra.com

Erreur: (23, 17) Impossible de résoudre: junit: junit: 4.12

Pourquoi chaque fois que je crée un nouveau projet dans Android Studio, il génère toujours les éléments suivants:

Erreur: (23, 17) Échec de la résolution: junit: junit: 4.12?

Quand je supprime testCompile 'junit:junit:4.12' dans les dépendances, ce n'est plus un problème.

build.gradle

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.okedroid.myapplication"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.0.1'
}
123
fathurzero

J'ai eu le même problème. Résolu en ajoutant l'URL du référentiel manquant dans le fichier build.gradle:

Android {
    [...]
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    [...]
}

C'est tout.

120
mdew

Supprimez simplement le "testCompile 'junit: junit: 4.12" du fichier build.gradle:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'//remove this line and sync again... worked for me

androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.Android.support', module: 'support-annotations'}) //if available, also delete these two lines

compile 'com.Android.support:appcompat-v7:23.0.1'
 }

travaillé pour moi et je suis heureux! :) 

Rappelez-vous que ce n'est pas la réponse réelle de cette question. J'ai mentionné cela parce que cela fonctionne lorsque vous supprimez les lignes ci-dessus.

34
Naveed Jamali

Allez dans Fichier -> Structure du projet. La fenêtre suivante s'ouvrira:

 enter image description here

De là:

  1. retirez la bibliothèque Junit (sélectionnez Junit et appuyez sur le bouton "-" ci-dessous) et
  2. ajoutez-le à nouveau (sélectionnez le bouton "+" ci-dessous, sélectionnez "Dép. de bibliothèque", recherchez "junit", appuyez sur OK). Appuyez sur OK pour appliquer les modifications. Après environ 30 secondes, votre synchro gradle devrait fonctionner correctement.

J'espère que cela fonctionne pour vous aussi: D 

24
Hasaan Ali

Il ne peut pas obtenir de bibliothèque Junit.

repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }

Après avoir ajouté la ligne ci-dessus dans le bloc Android dans le fichier build.gradle, le problème a été résolu . Cela peut être dû au fait que votre studio Android ne dispose pas de la bibliothèque Junit.

15
Mona

ajouter un référentiel dans votre fichier build.gradle

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}
15
Gaurav

Votre note est probablement incomplète, je vous recommande d’ajouter ce qui suit 

Android{
    repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}

mais dans certains cas cela ne fonctionnera pas, vous pouvez le supprimer complètement de vos dépendances dans votre classe.

Je pense que tout ira bien si vous réinstallez le studio Android avec la condition de suppression du dossier de niveaux qui se trouve dans le dossier utilisateur .gradle

13
HPbyP

Voici ce que j'ai fait pour résoudre le même problème. Je suis derrière un pare-feu, ce qui pose le même problème que le vôtre, je suppose…. 

testCompile 'junit:junit:4.12' line 

mais cela n'a pas fonctionné pour moi ... J'ai essayé d'ajouter des lignes de code ci-dessous:

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}

Même cela n'a pas fonctionné pour moi.

J'ai essayé de retirer (-) et de lire (+) Junit4.12 des dépendances de la bibliothèque sous Paramètres du module . Cela n'a quand même pas fonctionné pour moi.

J'ai essayé plusieurs fois de synchroniser et de reconstruire le projet. Je n'ai toujours pas travaillé pour moi.

Enfin, j'ai téléchargé manuellement le fichier Junit4.12.jar à partir du site Web mvnrepository. J'ai placé ce fichier jar dans l'espace de travail d'Androids sous le dossier Projet du dossier libs . Cliquez ensuite sur Paramètres du module> Onglet Dépendances> (+)> Dépendance de fichier>. et vous y trouverez le fichier Jar que vous avez copié . Sélectionnez le fichier, puis cliquez sur 'OK' Supprimez maintenant la version précédente de junit4.12 de la liste des dépendances.

Vous devriez avoir une entrée "libs\junit-4.12.jar" dans la liste Dépendances ..__ Maintenant, cliquez sur 'OK'.

Maintenant, Gradle va reconstruire le projet et vous devriez être prêt à partir.

J'espère que cela t'aides!

8
Murtuza K

Je vais tout essayer, mais la seule chose qui m'aide à résoudre le problème est de supprimer la ligne 

testCompile 'junit:junit:4.12'

à partir du niveau de l'application.

6
Ortal D

Cela se produit car HTTPS est bloqué par le proxy . Essayez de remplacer jcenter par défaut (qui utilise HTTPS) par HTTP. 

Avant

repositories {
     jcenter()
}

Après

repositories {
    jcenter {
        //Default one is HTTPS
        url "http://jcenter.bintray.com/"
    }
}

Répétez l'étape ci-dessus pour tous les projets.

allprojects {
  repositories {
    jcenter {
        url "http://jcenter.bintray.com/"
    }
  }
}
5
jafarmlp

Utilisez-vous un proxy ? Si tel est le cas, le problème peut provenir d'une configuration réseau manquante pour https dans votre fichier gradle.properties

AndroidStudio place automatiquement vos paramètres de proxy par défaut dans le fichier gradle.properties de votre projet, mais uniquement pour http et oublie https.

Donc, fondamentalement, votre fichier gradle.properties doit contenir les config http et https:

systemProp.http.proxyPassword=xxx
systemProp.http.proxyHost=xxx
systemProp.http.nonProxyHosts=xxx
systemProp.http.proxyUser=xxx
systemProp.http.proxyPort=xxx

systemProp.https.proxyPassword=xxx
systemProp.https.proxyHost=xxx
systemProp.https.nonProxyHosts=xxx
systemProp.https.proxyUser=xxx
systemProp.https.proxyPort=xxx
4
Štarke

Vous êtes probablement derrière un proxy. Cela m'est arrivé, j'ai utilisé mon projet de reconstruction de modem mobile (sans proxy) et l'erreur a disparu. Retour à la connexion d'origine (avec proxy) et reconstruction sans erreur.

4
Asem Daaboul

J'ai reçu cette erreur après avoir créé un nouveau projet. Dans le fichier build.gradle, j'avais ceci: 

jcenter()

Je le modifie comme suit et l'erreur disparut: 

jcenter {
    url "http://jcenter.bintray.com/"
}

Je pense que c’est parce que je suis derrière un pare-feu et que je spécifie l’URL comme ça change de https à http

4
Al Lelopath

L'erreur est due à des fichiers JAR manquants. Ma solution simple consiste simplement à copier tous les fichiers non résolus dans le répertoire C:\Program Files\Android\Android Studio\gradle\m2 ... (votre chemin de fichier peut être différent). J'ai environ 6 dépendances qui ne peuvent pas être résolues, Junit est l'une d'elles et les autres sont com et org et javax. Puisque je suis derrière un pare-feu, même si j’ajoutais le code du référentiel, Android Studio ne semble pas y accéder. Je suis allé dans le référentiel Maven et j'ai téléchargé tous les fichiers qui ne résoudront pas. Problème résolu et la synchro Gradle sans erreur. Mais je suis un débutant certifié avec seulement 1 jour d'expérience, donc je ne le fais pas si c'est la bonne façon de le faire. 

Exemple d'erreur: Impossible de résoudre com: squareup: javawriter: 2.1.1

Étape 1: J'ai créé un chemin C:\Program Files\Android\Android Studio\gradle\m2repository\com\squareup\javawriter\2.1.1 \ 

Étape 2: J'ai téléchargé tous les fichiers jar du référentiel maven: http://repo1.maven.org/maven2/com/squareup/javawriter/2.1.1/

Étape 3: J'ai téléchargé manuellement tous les fichiers .jar à partir de ce répertoire

Étape 4: Je les ai copiées dans C:\Program Files\Android\Android Studio\gradle\m2repository\com\squareup\javawriter\2.1.1 \ 

J'ai répété ceci à tous les fichiers qui n'ont pas été résolus, y compris le Junit.

Pour Junit, voici le répertoire que j’ai créé: l'erreur de junit a disparu.

3
Roy Selim

J'avais le même problème.

  • 1 option: téléchargez junit 4.12.jar, copiez-le dans votre dossier lib et redémarrez Android studio. Bénéfice u ne devez créer aucun nouveau projet

  • Option 2: Créer un nouveau projet avec une connexion Internet et copier tout le code Java et XML dans le projet nouvellement créé. Profitez de ce problème sera résolu de façon permanente

2
Akash Jaiswal

Allez dans Fichier -> Structure du projet -> Dépendance .__ Vous y trouverez -> junit: unité: 4.12

Sur le côté droit, sélectionnez la compilation dans le menu déroulant, simple, c'est fait.

Image de référence:  http://i.stack.imgur.com/5WvS3.png

Les Rouges VV

2
Vaisakh Venugopal

Généralement, ce problème survient à chaque fois que vous mettez à jour votre SDK, au moment de la création du projet, la construction de Gradle échoue. Si vous ajoutez les dépôts maven et jcenter à votre build.gradle (Module: app), votre problème sera résolu.

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
    jcenter { url "http://jcenter.bintray.com/" }
}

Ce sont les deux lignes que vous devez ajouter après 

apply plugin: 'com.Android.application' 

Voici à quoi ressemble votre code après avoir ajouté ces deux lignes

apply plugin: 'com.Android.application'

 repositories {
        maven { url 'http://repo1.maven.org/maven2' }
        jcenter { url "http://jcenter.bintray.com/" }
    }

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.okedroid.myapplication"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}
2
saibaba vali

Mon installation d'Android Studio est complètement hors ligne. Pour résoudre ce type de problèmes, j'ai utilisé le moniteur de processus. Il a montré que quelques fichiers sont manquants dans "Android Studio\gradle\m2repository" . J'ai téléchargé tous les fichiers de

  1. http://repo1.maven.org/maven2/junit/junit/4.12/
  2. http://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/
  3. repo1.maven.org/maven2/org/hamcrest/hamcrest-parent/1.3/( Je ne peux poster que deux liens ... ;-))

et copié ces fichiers dans "Android Studio\gradle\m2repository". Vous devez créer la structure ci-dessous "m2repository" comme ci-dessous "maven2" . Peut-être y a-t-il plus de fichiers manquants, mais à ce stade, la construction de Gradle est terminée sans erreur.

2
Tasko

CHANGEZ votre build.

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "22.0.1"
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    defaultConfig {
        applicationId "YOUR PACKAGE NAME"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.0.0'
}

ajoutée 

    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }

à Android

2
user4790312
  1. Assurez-vous de ne pas être derrière un proxy! 
  2. Si vous avez configuré votre Android Strudio pour fonctionner avec un proxy, veillez à désactiver cette option dans les préférences d'Android Studio. 
  3. Accédez à gradle.properties sous la vue Android dans Android Studio et Supprimez toute configuration de proxy.
  4. Synchronisez votre diplôme maintenant
  5. Profitez de la programmation!
1
Catluc

Allez dans "Fichier" -> "Structure du projet" -> "App" Dans l'onglet "Propriétés". Dans "Référentiel de bibliothèque" field put ' http://repo1.maven.org/maven2 ', puis appuyez sur Ok . Il a été corrigé comme ça pour moi. Maintenant le projet est en train de compiler.

1
M.M

Si vous rencontrez ce problème, vous pouvez le résoudre complètement en changeant:

build.gradle (projet: ...)

remplace ceci

    buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenCentral()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
1
HPbyP

Supprimer la ligne testCompile 'junit:junit:4.12'

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.Android.support:appcompat-v7:23.0.1'
 }

Après cela, synchronisez à nouveau le projet.

1
Muhammad Salman

Je ne pouvais pas comprendre pourquoi Android Studio ne synchronisait pas avec Gradle. Il s'est avéré que mon VPN ne lui plaisait pas, alors faites attention à cela!

1
Ben

Dans mon cas, c'est juste parce que la connexion Internet. Peut-être qu’un proxy ou un pare-feu wifi ou d’autres choses perturberont probablement la connexion (parce que lorsque je visite le lien manuellement ici chrome dit que le fichier peut endommager votre ordinateur). J'ai donc essayé d'utiliser une autre connexion, telle qu'un point d'accès sans fil, depuis mon téléphone.

1
Fityan Aula

Si vous êtes derrière un proxy. Android Studio ajoutera un proxy pour http à Gradle, mais pas pour https . Ajouter des paramètres de proxy pour https à gradle.properties.

1
KennyXu

Connectez-vous simplement à Internet, démarrez Android Studio et ouvrez votre projet . Pendant la synchronisation, Gradle Sync téléchargera les dépendances sur Internet (Tous les fichiers JAR). Cela a résolu le problème pour moi . Pas de modification dans le fichier Gradle, tout a été fait par Android Studio automatiquement . Utilisation d'Android Studio 2.2 :)

N'oubliez pas non plus d'installer Java JDK 1.x (7 ou 8 fonctionne parfaitement).

1
Rupanshu Raman

J'ai eu le même problème, mais avec un autre problème.

Mon autre problème était que la construction de Gradle était trop lente!

J'ai résolu mon problème en le faisant

Si vous aimez mdew, vous devez le faire chaque fois que vous créez votre projet pour le faire.

Donc, si vous voulez définir l'option par défaut à maven 

Faire ceci: 

Allez dans le dossier:

C:\Program Files\Android\Android Studio\plugins\Android\lib\templates\gradle-projects\NewAndroidProject\root

Ouvrez ensuite le fichier build.gradle.ftl avec notepad ++ ou notepad Et remplacez tous les jcenter() par mavenCentral().

EDIT: Pourquoi sa va voter? tu n'aimes pas ça?

1
Display name

Essaye ça:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    //testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.3.0'
    compile 'com.Android.support:design:23.3.0'
    compile 'com.google.code.gson:gson:2.2.4'
}
1
Abdullah Al Hasan
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
       compile 'com.Android.support:appcompat-v7:23.1.1'
}

Remarque: Supprimer testCompile 'junit: junit: 4.12' ligne a été résolu mon problème.

1
hasan sabbir

Cherchez beaucoup de réponses mais rien ne fonctionne. Heureusement, avait trouvé la solution facile. Pas besoin de commenter junit4.12 ou de le supprimer. Le problème est ici:

- androidTestCompile files('libs/junit-4.12.jar')

Cette partie nous montre le chemin à parcourir pour rechercher le fichier dans la bibliothèque de votre projet. Aucune idée pourquoi mais pour une raison quelconque, par défaut, il est vide. Dans mon cas, le chemin est le suivant:

C:\Users\arzakhar\AndroidStudioProjects\MyApp\app\libs

Bien sûr, vous pouvez supprimer cette ligne dans le code build.grandle(Module.app), mais vous pourrez en avoir besoin plus tard. Voici la solution:

1 - téléchargez junit-4.12.jar ou copiez-le à partir de votre dossier Android Studio, normalement, il devrait être là. Dans mon cas, c'était ici: 

C:\Program Files\Android\Android Studio\lib

vers le répertoire mentionné ci-dessus (vers votre projet)

2 - supprimer et ajouter

 here you should re-enter the root to your junit-4.12.jar

3 - reconstruire

4 - travailler dur

1
Arthur Zakharov

J'aimerais suggérer la solution qui convient à ma situation:

  • au début, assurez-vous d'ajouter 

    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    

    dans un fichier build.gradle au niveau du projet à l'intérieur du bloc buildscript {}

  • puis ajouter 

    allprojects {
        repositories {
            maven { url 'http://repo1.maven.org/maven2' }
        }
    

    au fichier build.gradle au niveau du projet

  • le point suivant ajoute 

    repositories {
        jcenter()
        mavenCentral()
    }
    

    au niveau du module au niveau de la construction dans buildTypes{ }

1
mrmailperson

Dans mon cas, la solution consistait à ajouter 

repositories {
    mavenCentral()
}

au niveau du module build-gradle dans buildTypes {}

Supposons que sans cela, AndroidStudio ne puisse pas télécharger Junit de Maven.

0
Anton Vaysberg

Si aucune de ces réponses ne vous convient, essayez d'effacer le cache/redémarrage d'Android Studio. C'était la seule chose qui a fonctionné pour moi:

Dans l'option de menu Fichier, j'ai sélectionné "Invalider les caches/redémarrer".

https://teamtreehouse.com/community/gradle-project-sync-failed-7

0
Mandi Eaton

Lorsque vous n'êtes pas derrière un pare-feu d'entreprise, utiliser Android Studio résoudra ce problème de manière naturelle. Mais si vous êtes derrière un pare-feu d'entreprise, ce problème se produira. Donc, télécharger les fichiers sera une solution de contournement. La mise à jour d’Android Studio sur votre propre réseau domestique résoudra le problème et vous demandera de supprimer les fichiers que vous avez créés manuellement. Appuyez simplement sur OK car il est prudent de les supprimer.

0
Roy Selim

Il se peut qu’il ne soit pas en mesure de l’obtenir à l’emplacement en ligne spécifié pour jar.check cette partie de build.gradle (fichier gradle du projet). vous n'avez peut-être pas accès à l'emplacement (pare-feu ou autres problèmes)

repositories{
//some location like jcenter() or maven{.some location  }
}

Faites ceci: Téléchargez le pot Ajoutez cette ligne à l’intérieur du 

repositories {
        //previous codes untouched
        flatDir {
            dirs 'location to jar'
        }
}

espérons que ça marche;)

0
Mukul Anand

J'ai eu le même problème, mais lorsque j'ai ouvert mon projet avec une connexion Internet, j'ai tout effacé lorsque le gradé a créé une synchronisation. Il a automatiquement téléchargé les fichiers pertinents et le plugin J Unit est requis pour les tests

0

Si un des utilisateurs obtient l'erreur "failed-to-resolution-junitjunit4-12", accédez au paramètre HTTP Proxy et vérifiez votre connexion Internet. Si vous utilisez un serveur proxy à l'école ou au collège, définissez votre paramètre de proxy et testez la connexion s'il réussit, puis appliquez le paramètre et exécutez à nouveau pour obtenir une résolution de toutes les erreurs. J'essaie cela et je résous toutes les erreurs. Remarque: inutile de retirer Junit .... !! Umair

0
Umair

Vous devriez adresser Java à Windows.

  1. Ouvrez cette adresse: 'panneau de configuration\système et sécurité\système'
  2. De gauche, choisissez 'Paramètres système avancés'
  3. Dans l'onglet Avancé, choisissez "Variables d'environnement".
  4. Dans la fenêtre ouverte, sous "variables système", choisissez "Nouveau".
  5. Définissez le nom de la variable sur Java_HOME et la valeur de la variable sur l'adresse que vous avez installée Java. Par exemple, pour moi, c'est C:\ProgramFiles\Java\jdk1.8.0_66. Après cela, cliquez sur le bouton OK.
  6. Redémarrer Android Studio
0
amin

Remplacez le référentiel par mavenCentral() sauf jcenter() tout ira bien

0
user7123375

Essayez simplement de compiler et d’exécuter votre projet avec une connexion Internet active. 

cela a fonctionné pour moi dans Android studio 1.5 Ubuntu 15.04

0
Oliver Muthomi

Dans mon cas, c'était très câblé! Outre l'ajout d'un proxy correct (je travaille au sein d'une entreprise), je devais ajouter les deux autres bibliothèques dans les dépendances:

compile 'com.Android.support:appcompat-v7:25.0.1'
compile 'com.Android.support:design:25.0.1'

alors l'erreur pour "junit: junit: 4.12" a été résolue. Assurez-vous que toutes les dépendances de build.gradle correspondent à ce que vous importez dans la structure de projet  

0
Boshra N

Cette réponse est peut-être un peu tardive, mais après avoir passé quelques heures à résoudre les réponses, rien ne fonctionnait pour moi… .. Après avoir lu le journal des erreurs patiemment, j'ai réalisé que le studio Android essayait d'utiliser une version en cache de JUnit avec un code de hachage incorrect . La solution à cela était de supprimer le répertoire C:\Android\caches\modules-2 et de relancer la construction.

J'espère que cela t'aides!

0
garritfra