为什么android gradle找不到junit?为什么不在远程存储库中搜索它?

时间:2015-03-19 11:04:41

标签: android gradle

为什么不在远程存储库中搜索它?

毕竟我在我的gradle脚本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"

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

结果是:

$ ./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).

6 个答案:

答案 0 :(得分:18)

我搬了

repositories {
    mavenCentral()
}

超出部分

buildScript {
}

并添加到buildScript {

部分

uri

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

它解决了它..

答案 1 :(得分:2)

gradle只在本地显示但不在mavenCentral()中查找,所以我假设你没有连接到http://mavencentral.com或者禁用了internetaccess。

ping mavencentral.com在命令行上工作吗?

您的settings.gradle是否包含禁止使用互联网的此行?

startParameter.offline=true

如果您使用的是android studio:是设置/编译器/ gradle / OfflineMode禁用吗?

我检查http://search.maven.org/#artifactdetails|junit|junit|4.12|jar mavencentral.com上有'junit:junit:4.12'

答案 2 :(得分:1)

@Jas描述的解决方案为我工作。但是,由于我在调整build.gradle时遇到了问题,所以我决定在完全改变的情况下发布答案。这就是我的build.gradle最终的样子:

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
}

答案 3 :(得分:0)

我在Android工作室项目中设置了它。它对我有用。 打开模型设置>项目>默认库存储库> jcenter

答案 4 :(得分:0)

我无法设置“模型设置>项目>默认库存储库> jcenter”,因为文本字段有些不可编辑。

所以在build.gradle中添加了以下内容,它解决了我的问题

repositories {
    jcenter()
} 

这解决了我的问题

答案 5 :(得分:0)

您需要互联网连接 - 至少第一次 - 才能正确构建项目(我真的不知道为什么)!!!

所以,为了避免这种情况,您可以尝试从here下载JUnit(必需的库)并将其手动添加到您的应用程序〜[YourAppFolder] \ app \ libs

然后重建您的应用。