错误:(23,17)无法解决:junit:junit:4.12

fat*_*ero 128 java junit android react-native

为什么每次我在Android Studio中创建一个新项目时,它总是会出现:

错误:(23,17)无法解决:junit:junit:4.12?

当我删除testCompile 'junit:junit:4.12'依赖项时,它不再是一个问题.

的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'
}
Run Code Online (Sandbox Code Playgroud)

mde*_*dew 122

我有同样的问题.通过在build.gradle文件中添加缺少存储库的url来解决:

android {
    [...]
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    [...]
}
Run Code Online (Sandbox Code Playgroud)

而已.

  • 这是什么原因? (16认同)

Nav*_*ali 34

只需从build.gradle文件中删除"testCompile'junit:junit:4.12'":

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'
 }
Run Code Online (Sandbox Code Playgroud)

为我工作,我很开心!:)

请记住,这不是这个问题的实际答案.我之所以提到这一点是因为当你删除上面的行时,


Has*_*Ali 24

转到文件 - >项目结构.以下窗口将打开:

在此输入图像描述

从那里:

  1. 删除junit库(选择junit并按下面的" - "按钮)和
  2. 再次添加(选择下面的"+"按钮,选择"library dep.",搜索"junit",按OK).按确定以应用更改.大约30秒后,您的gradle同步应该可以正常工作.

希望它也适合你:D

  • 我尝试了这个,但是当我去添加junit时,它就不存在了... wtf (3认同)

Gau*_*rav 15

在build.gradle文件中添加存储库

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}
Run Code Online (Sandbox Code Playgroud)


Mon*_*ona 15

它无法获得junit库.

repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
Run Code Online (Sandbox Code Playgroud)

在build.gradle文件中的android块中添加上面的行之后,它解决了问题.这可能是因为您的Android工作室没有junit库.


hos*_*pro 13

可能你的gradle不完整,我建议你添加以下内容

android{
    repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}
Run Code Online (Sandbox Code Playgroud)

但在某些情况下不起作用,您可以完全从您的gradle中的依赖项中删除它.

我认为如果你用删除gradle文件夹条件在用户文件夹中重新安装android工作室就行了 .gradle


Mur*_*a K 8

以下是我为解决同样问题所做的工作.我在防火墙后面,这与我想的问题相同.所以我试过删除

testCompile 'junit:junit:4.12' line 
Run Code Online (Sandbox Code Playgroud)

但这对我没有用.我尝试添加以下代码行:

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}
Run Code Online (Sandbox Code Playgroud)

即使这对我也不起作用.

我尝试从模块设置下的库依赖项中删除( - )和读取(+)Junit4.12.这仍然不适合我.

多次尝试同步和重建项目.仍然没有为我工作.

最后我做的是从mvnrepository网站手动下载Junit4.12.jar文件.我把这个jar文件放在libs文件夹里的Project文件夹下的Androids Workspace中.然后转到Sleect path窗口下的Module Settings> Dependencies Tab>(+)> File Dependency>,展开'libs'文件夹,你会发现你在那里复制的Jar文件.选择文件并单击"确定"现在从依赖项列表中删除以前版本的junit4.12.

您应该"libs\junit-4.12.jar"在"依赖关系"列表中有一个条目.现在点击"确定".

现在Gradle将重建项目,你应该好好去.

希望这可以帮助!


小智 6

我会尝试一下,但唯一有助于我解决问题的是删除该行

testCompile 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

来自app gradel.


jaf*_*mlp 5

这是因为HTTPS被Proxy阻止了.尝试从默认的jcenter(使用HTTPS)更改为HTTP.

之前

repositories {
     jcenter()
}
Run Code Online (Sandbox Code Playgroud)

repositories {
    jcenter {
        //Default one is HTTPS
        url "http://jcenter.bintray.com/"
    }
}
Run Code Online (Sandbox Code Playgroud)

对所有项目重复上述步骤.

allprojects {
  repositories {
    jcenter {
        url "http://jcenter.bintray.com/"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)