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

eomnis 发布于 2019-07-24 android 最后更新 2019-07-24 13:11 307 浏览

为什么每次我在Android Studio中创建一个新项目时,都会遇到以下问题:

Error:(23, 17) Failed to resolve: 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'
}
已邀请:

krerum

赞同来自:

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

android{
    repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}
但在某些情况下不起作用,您可以完全从您的gradle中的依赖项中删除它。 我认为如果您使用删除gradle文件夹条件重新安装android studio,该条件位于用户文件夹.gradle

ksequi

赞同来自:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
       compile 'com.android.support:appcompat-v7:23.1.1'
}
注意:删除testCompile'junit:junit:4.12'行已经解决了我的问题。

dodit

赞同来自:

当您不在公司防火墙后面时,使用Android Studio将自然地解决该问题。但是,如果您在公司防火墙后面,则会出现此问题。因此,下载文件将是一种解决方法。在您自己的家庭网络上,更新Android Studio将解决此问题,并会要求您删除手动创建的文件。只需按OK即可,因为可以安全地将其删除。

zex

赞同来自:

改变你的build.gradle就像这样,对我来说工作正常:

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'
}
添加
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
android

wearum

赞同来自:

如果您位于代理服务器后面,只需在gradle.properties中添加代理设置即可

systemProp.http.proxyHost=x.xx.xx.x
systemProp.http.proxyPort=xxxx
systemProp.https.proxyHost=x.xx.xx.x
systemProp.https.proxyPort=xxxx
它对我有用。

overo

赞同来自:

只需从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'
 }
为我工作,我很开心! :) 请记住,这不是这个问题的实际答案。我提到这个是因为当你删除上面的行时它会起作用。

ut_et

赞同来自:

创建新项目后,我收到此错误。在build.gradle文件中,我有这个:

jcenter()
我将其更改为以下内容,错误消失了:
jcenter {
    url "http://jcenter.bintray.com/"
}
我认为这是因为我在防火墙后面并指定了URL,因此将其从https更改为http

eenim

赞同来自:

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

android {
    [...]
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    [...]
}
而已。

prerum

赞同来自:

你在使用代理吗?如果是这样,问题可能是您的gradle.properties文件中缺少https的网络配置。 AndroidStudio会自动将您的默认代理设置放入项目中的gradle.properties文件中,但仅限于http并忘记https。 所以基本上你的gradle.properties文件需要同时包含http和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

yhic

赞同来自:

可能是它无法在jar的指定在线位置获取它。检查build.gradle的这一部分(项目的gradle文件)。您可能无法访问该位置(防火墙或其他问题)

repositories{
//some location like jcenter() or maven{.some location  }
}
做这个: 下载jar 在里面添加这一行
repositories {
        //previous codes untouched
        flatDir {
            dirs 'location to jar'
        }
}
希望有效;)

raut

赞同来自:

  1. 请确保您不在代理之后!
  2. 如果您将Android Strudio配置为使用代理,请务必使用 在Android Studio偏好设置下禁用该选项
  3. 转到Android Studio中Android视图下的gradle.properties 删除所有代理配置
  4. 立即同步您的gradle
  5. 享受编码!

datque

赞同来自:

我很乐意推荐适合我情况的解决方案:

  • 首先,确保添加
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    
    buildscript {}块中的项目级build.gradle文件
  • 然后添加
    allprojects {
        repositories {
            maven { url 'http://repo1.maven.org/maven2' }
        }
    
    到项目级build.gradle文件
  • 下一点是添加
    repositories {
        jcenter()
        mavenCentral()
    }
    
    buildTypes{ }
  • 中的模块级build-gradle

uculpa

赞同来自:

就我而言,这只是因为互联网连接。也许一些代理或wifi防火墙或其他可能会扰乱连接的东西(因为当我手动访问链接时here chrome表示该文件可能会损害您的计算机)。所以我尝试使用另一个连接,例如我手机上的网络热点。

onam

赞同来自:

我遇到了同样的问题。

  • 1选项:下载junit 4.12.jar并将其复制到您的lib文件夹中并重启android studio。好处你不必创建任何新项目
  • 2选项:创建一个具有Internet连接的新项目,并复制新创建的项目中的所有Java和XML代码。受益这个问题将永久解决

qporro

赞同来自:

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

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

eet

赞同来自:

这是因为HTTPS被Proxy阻止。 尝试从默认的jcenter(使用HTTPS)更改为HTTP。点击 之前

repositories {
     jcenter()
}
repositories {
    jcenter {
        //Default one is HTTPS
        url "http://jcenter.bintray.com/"
    }
}
对所有项目重复上述步骤。
allprojects {
  repositories {
    jcenter {
        url "http://jcenter.bintray.com/"
    }
  }
}

onon

赞同来自:

如果这些都没有为您解答,请尝试清除Android Studio缓存/重新启动。这是唯一对我有用的东西: 从文件菜单选项中,我选择了“invalidate caches / restart”。 https://teamtreehouse.com/community/gradle-project-sync-failed-7

dodit

赞同来自:

我会尝试一切,但唯一能帮助我解决问题的方法是删除该行 CODE_0的PLACEHOLDER 来自app gradel。

kex

赞同来自:

我有同样的问题,但当我打开我的项目与Internet连接时,我得到一切清除当gradle构建同步它自动下载相关文件和J单元插件是测试所必需的

qullam

赞同来自:

转到文件 - >项目结构 - >依赖项 在那里你会发现 - > junit:unit:4.12 在右侧..从下拉菜单中选择编译。 简单..完成了。 参考图片:http://i.stack.imgur.com/5WvS3.png 红人 VV

hid

赞同来自:

如果你遇到这个问题,你可以通过改变来完全解决它: build.gradle(项目:...) 替换这个

    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
}

ab_non

赞同来自:

大多数情况下,在项目创建时更新SDK时会出现此问题,Gradle构建失败。如果将maven和jcenter存储库添加到build.gradle(Module:app),则问题将解决。

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
    jcenter { url "http://jcenter.bintray.com/" }
}
这些是您必须添加的两行
apply plugin: 'com.android.application' 
这是添加这两行后代码的样子
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'
        }
    }
}

oqui

赞同来自:

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

testCompile 'junit:junit:4.12' line 
但这对我没有用。 我尝试添加以下代码行:
repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}
即使这对我也不起作用。 我尝试从模块设置下的库依赖项中删除( - )和读取(+)Junit4.12。 这仍然不适合我。 多次尝试同步和重建项目。仍然没有为我工作。 最后我做的是从mvnrepository网站手动下载Junit4.12.jar文件。我把这个jar文件放在libs文件夹里的Project文件夹下的Androids Workspace中。 然后转到“模块设置”>“依赖关系”选项卡>(+)>“文件依赖关系”> 在Sleect路径窗口下,展开'libs'文件夹,你会发现你在那里复制的Jar文件。 选择文件,然后单击“确定” 现在从依赖项列表中删除以前版本的junit4.12。 您应该在“依赖关系”列表中有一个条目"libs\junit-4.12.jar"。 现在点击“确定”。 现在Gradle将重建项目,你应该很高兴。 希望这可以帮助!

set

赞同来自:

我有同样的问题,但有另一个问题。 我的另一个问题是Gradle构建太慢了! 我通过做这个来解决我的问题 如果你喜欢mdew,你需要在创建项目的任何时候执行此操作 所以如果你想将默认选项设置为maven 做这个: 转到文件夹:

C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root
然后使用notepad ++或记事本打开build.gradle.ftl文件 并将所有jcenter()替换为mavenCentral()。 编辑:为什么要投票?你不喜欢它吗?

zquia

赞同来自:

该错误是由丢失的jar文件引起的。我的简单解决方案是将所有未解析的文件复制到C:\ Program Files \ Android \ Android Studio \ gradle \ m2repository ...(您的文件路径可能不同)。我有大约6个无法解决的依赖项,junit是其中之一,其他是com和org和javax。由于我在防火墙后面,即使我添加了存储库的代码,Android Studio也似乎无法访问它。我去了maven存储库并下载了所有无法解析的文件。问题解决了,Gradle同步没有错误。但我是一名只有1天经验的认证新手,所以如果这是正确的方法,我不会这样做。 示例错误: 无法解决com:squareup:javawriter:2.1.1 第1步:我创建了一个路径C:\ Program Files \ Android \ Android Studio \ gradle \ m2repository \ com \ squareup \ javawriter \ 2.1.1 \ 第2步:我从maven存储库下载了所有jar文件: http://repo1.maven.org/maven2/com/squareup/javawriter/2.1.1/ 第3步:我手动从此目录下载了所有.jar文件 第4步:我将它们复制到C:\ Program Files \ Android \ Android Studio \ gradle \ m2repository \ com \ squareup \ javawriter \ 2.1.1 \ 我重复了所有未解决的文件,包括junit。 对于junit,这是我创建的目录: C:\ Program Files \ Android \ Android Studio \ gradle \ m2repository \ junit \ _unit \ 4.12 然后我在这个目录中复制了junit-4.12.jar,junit错误消失了。

cet

赞同来自:

我安装的Android Studio完全脱机。为了解决这些问题,我使用了Process Monitor。它显示“Android Studio \ gradle \ m2repository”中缺少一些文件。 我已经下载了所有文件

  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/ (我只能张贴两个链接......; - ))
并将这些文件复制到“Android Studio \ gradle \ m2repository”中。您必须在“m2repository”下面创建结构,因为它位于“maven2”下面。 也许有更多丢失的文件,但此时至少Gradle构建完成没有错误。

in_id

赞同来自:

只需连接到Internet并启动Android Studio并打开您的项目。 在Gradle Sync中,它将从Internet(所有JAR文件)下载依赖项。这解决了我。 没有在Gradle文件中编辑,所有操作都是由Android Studio自动完成的。 使用Android Studio 2.2 :) 另外不要忘记安装Java JDK 1.x(7或8都可以正常工作)。

eipsum

赞同来自:

如果你是代理人的背后。 Android Studio会将http代理添加到Gradle,但不适用于https。 将https的代理设置添加到gradle.properties

kautem

赞同来自:

转到“文件” - >“项目结构” - >“应用程序” 在选项卡“属性”中。在“库存储库”field中输入“http://repo1.maven.org/maven2”,然后按“确定”。 这对我来说就像那样。现在该项目正在编译中。

zex

赞同来自:

它无法获得junit库。

repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
在build.gradle文件中的android块中添加上面的行后,它解决了问题。 这可能是因为您的Android工作室没有junit库。

lest

赞同来自:

在我的情况下,解决方案是添加

repositories {
    mavenCentral()
}
buildTypes {}中的模块级build-gradle 假设没有它,AndroidStudio无法从maven下载junit。

jeum

赞同来自:

尝试这个:

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'
}

ncum

赞同来自:

在我的情况下它是非常有线!除了添加正确的代理(我在公司内部工作),我还需要在依赖项中添加其他两个库:

compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:25.0.1'
然后解决了“junit:junit:4.12”的错误。 确保build.gradle中的所有依赖项与项目结构中导入的内容相匹配

wquod

赞同来自:

将存储库更改为mavenCentral(),除了jcenter(),一切都会好的

zex

赞同来自:

你应该将Java解决到Windows。

  1. 打开此地址:'control panel \ system and security \ system'
  2. 从左侧选择“高级系统设置”
  3. 在高级选项卡中,选择'环境变量'
  4. 在打开的窗口中,在“系统变量”下方,选择“新建”。
  5. 将变量名称设置为JAVA_HOME,将变量值设置为您安装Java的地址。例如,对我而言,它是C:\ProgramFiles\Java\jdk1.8.0_66。之后,单击“确定”按钮。
  6. 重新启动Android Studio

lvero

赞同来自:

只需尝试编译并运行您的项目,同时有活跃的互联网连接。 它适用于Android studio 1.5 Ubuntu 15.04

nfugit

赞同来自:

删除testCompile 'junit:junit:4.12'
dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:23.0.1'
 }
之后再次同步项目。

xnemo

赞同来自:

转到文件 - >项目结构。以下窗口将打开: enter image description here 从那里:

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

punde

赞同来自:

我无法弄清楚为什么Android Studio没有与gradle同步。事实证明它不喜欢我的VPN,所以请注意!

onam

赞同来自:

查看许多答案,但没有任何作用。幸运的是找到了简单的解决方案。无需评论junit4.12或删除它。问题出在这里:

- androidTestCompile files('libs/junit-4.12.jar')
这部分向我们展示了在项目库中查找文件的路径。不知道为什么但由于某种原因,默认情况下它是空的。在我的情况下,路径是:
C:\Users\arzakhar\AndroidStudioProjects\MyApp\app\libs
当然,您可以在代码build.grandle(Module.app)中删除此行,但稍后可能需要它。这是解决方案: 1 - 下载junit-4.12.jar或从你的Android Studio文件夹中复制它,通常它应该在那里。就我而言,它在这里:
C:\Program Files\Android\Android Studio\lib
到上面提到的目录(对你的项目) 2 - 删除&加 here you should re-enter the root to your junit-4.12.jar 3 - 重建 4 - 努力工作

kesse

赞同来自:

可能你落后于代理。发生在我身上,用我的移动网络共享(无代理)重建项目,错误消失了。返回原始连接(使用代理)并重建,没有错误。

daut

赞同来自:

如果任何人得到错误“failed-to-resolve-junitjunit4-12”然后转到HTTP PRoxy设置检查您的互联网连接。如果您在学校/大学使用任何代理服务器,然后设置您的代理设置并测试连接如果成功然后应用设置并再次运行gradle您将得到解决所有错误。我试试这个,我解决了所有的错误。 注意:无需删除Junit .... !! Umair