2015-03-19 5 views
12

Warum sucht es nicht in Remote-Repositories?Warum kann Android gradle junit nicht finden? Warum sucht es nicht in Remote-Repositories?

schließlich habe ich an der Spitze meiner gradle Skript mavenCentral()

buildscript { 
    repositories { 
     mavenCentral() 
    } 

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

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 19 
    buildToolsVersion "20.0.0" 

und:

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    compile project(':lvl-licensing') 
    testCompile 'junit:junit:4.12' 
} 

Ergebnis ist:

$ ./gradlew --info build 
. 
. 
. 
Creating configuration testReleaseProvided. 
Creating configuration testReleaseWearApp. 

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring project ':myapp'. 
> Could not resolve all dependencies for configuration ':myapp:_debugUnitTestCompile'. 
    > Could not find junit:junit:4.12. 
    Searched in the following locations: 
     file:/home/myuser/Android/Sdk/extras/android/m2repository/junit/junit/4.12/junit-4.12.pom 
     file:/home/myuser/Android/Sdk/extras/android/m2repository/junit/junit/4.12/junit-4.12.jar 
     file:/home/myuser/Android/Sdk/extras/google/m2repository/junit/junit/4.12/junit-4.12.pom 
     file:/home/myuser/Android/Sdk/extras/google/m2repository/junit/junit/4.12/junit-4.12.jar 
    Required by: 
     myapp-container:myapp:unspecified 

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

BUILD FAILED 

Total time: 7.023 secs 
Stopped 0 compiler daemon(s). 
+1

Versuchen Sie es mit 'jcenter()' und dann 'gradlew clean test'. –

Antwort

18

verfügbar I bewegt

repositories { 
    mavenCentral() 
} 

aus sectoin

buildScript { 
} 

und zu Abschnitt buildScript {

die uri

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

und beschlossen, es ..

+3

Das löste das Problem auch für mich. Wenn jemand sagen könnte, warum das funktioniert, würde die Erklärung sehr geschätzt werden. – Terry

+0

es funktioniert nicht für mich, also habe ich http tp https geändert, so dass es funktioniert. – AndroSco

+0

Danke für die Lösung. Das funktioniert für mich! –

2

gradle nur in lokalen Orten aussieht, aber nicht in mavenCentral() so nehme ich an, Sie haben entweder keine Internetverbindung zu http://mavencentral.com oder Int Ernetaccess ist deaktiviert.

funktioniert ping mavencentral.com auf der Kommandozeile?

enthält Ihre settings.gradle diese Zeile, die es verbietet, das Internet zu benutzen?

startParameter.offline=true

, wenn Sie Android Studio verwenden: ist Einstellungen/Compiler/gradle/Offlinebetrieb deaktiviert?

Ich habe http://search.maven.org/#artifactdetails|junit|junit|4.12|jar, dass 'junit: junit: 4.12' bei mavencentral.com

+0

Das hat mein Problem gelöst! Vielen Dank! – 53iScott

0

Ich habe dies in meinem Android Studioprojekt. und es hat für mich funktioniert. Öffnen Sie Modelleinstellungen> Projekt> Standardbibliotheksrepository> jcenter

+1

Was meinen Sie mit "Open Model Settings", d. H. Wo steht das auf der Speisekarte? –

+0

Klicken Sie mit der rechten Maustaste auf Ihr Projekt. – ymkfuj

0

Ich konnte "Modelleinstellungen> Projekt> Standardbibliotheksrepository> jcenter" nicht als Textfeld festlegen, wie nicht editierbar.

so hinzugefügt in build.gradle folgenden und es mein Problem gelöst

repositories { 
    jcenter() 
} 

Das ist mein Problem

0
gelöst

Sie benötigen Internetverbindung-mindestens erste zeit Projekt erstmals bauen richtig (ich weiß wirklich nicht warum) !!!

so, um zu verhindern, dass Sie herunterladen JUnit (erforderlich Bibliothek) von here versuchen kann und es manuell in Ihre Anwendung in ~ [YourAppFolder] \ app \ Libs

dann Ihre App wieder aufzubauen.

1

Die von @Jas beschriebene Lösung funktionierte für mich. Aber da ich Probleme hatte, build.gradle zu justieren, entschied ich mich, eine Antwort mit der kompletten Änderung zu veröffentlichen. So sieht mein build.gradle am Ende aus:

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

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

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

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

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 
Verwandte Themen