2016-05-06 20 views
0

Ich benutze Android Studio 1.5.1. Mein build.gradle sieht aus wie untenFehler: Paket org.hamcrest existiert nicht Android Studio 1.5.1

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

    buildscript { 
     repositories { 
      jcenter() 
     } 
     dependencies { 
      classpath 'com.android.tools.build:gradle:1.5.0' 
     } 
    } 
    apply plugin: 'com.android.application' 

    dependencies { 
     // Unit testing dependencies 
     testCompile 'org.hamcrest:hamcrest-library:1.3' 
     testCompile 'junit:junit:4.12' 
    } 

ich einige JUnit-Testfälle für meine Anwendung schreibe wie unten

import static org.hamcrest.MatcherAssert.assertThat; 
import static org.hamcrest.Matchers.is; 

public void testSomething throws Exception { 
     ... 
     assertThat(result, is(true)); 
} 

Aber wenn ich die Tests laufen lasse, es zeigt, dass

error: package org.hamcrest does not exist

error: cannot find symbol assertThat(result, is(true));

Aber ich kann auf die Definition von AssertThat gehen, org.hamcrest etc aus dem Studio, indem Sie zur Definition als Studio dekompiliert die Gläser. Auch ich kann das heruntergeladene Paket in .Gradle/Caches sehen

Kann jemand vorschlagen, was ich hier falsch mache? Normalerweise funktionieren Junit-Testfälle mit assertFalse, assertTrue usw., nur Hamcrest Matching gibt Fehler.

Antwort

2

manuell hinzufügen das Glas aus here

es zu Ihrem libs Ordner hinzufügen.

Klicken Sie mit der rechten Maustaste auf das Glas, und klicken Sie auf Als Bibliothek hinzufügen.

Ich hatte das gleiche Problem mit der Suche nach junit. Sieht so aus, als würde Gradle seine Arbeit nicht machen.

Ich habe einen Bug-Report eingereicht Bitte Star: https://code.google.com/p/android/issues/detail?id=209832&thanks=209832&ts=1463161330

+0

Dank, nur diese Lösung gearbeitet. Müssen nur Abhängigkeiten hinzufügen { Dateien kompilieren ('libs/hamcrest-all-1.3.jar') testCompile 'junit: junit: 4.12' } – Deepu

+1

Ja. Ich vermute, dass Sie SourceSet in Ihrer Gradle-Datei ja modifiziert haben? – Aggressor

+0

Ja! Wie ist es verwandt? – Deepu