Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 冲突的依赖关系-android studio_Java_Android_Junit_Android Gradle Plugin_Build.gradle - Fatal编程技术网

Java 冲突的依赖关系-android studio

Java 冲突的依赖关系-android studio,java,android,junit,android-gradle-plugin,build.gradle,Java,Android,Junit,Android Gradle Plugin,Build.gradle,我试图在我的项目中添加一个依赖项giphy4j,该依赖项使用的是junit4.8.1,但我的项目使用的是最新的junit4.12 build.gradle(模块:应用程序): 此配置使我在gradle sync上出错。 当我将androidTestCompile更改为compile时,反之亦然,它可以工作。我不明白这一点。我深入研究了依赖性的东西compile,apk,TestCompile等等,但没有得到正确的想法(因为我是一名新生)。而且,这种相互矛盾的错误也是不可理解的 第1点:编译jun

我试图在我的项目中添加一个依赖项
giphy4j
,该依赖项使用的是
junit4.8.1
,但我的项目使用的是最新的
junit4.12

build.gradle(模块:应用程序):

此配置使我在gradle sync上出错。
当我将
androidTestCompile
更改为
compile
时,反之亦然,它可以工作。我不明白这一点。我深入研究了依赖性的东西
compile
apk
TestCompile
等等,但没有得到正确的想法(因为我是一名新生)。而且,这种相互矛盾的错误也是不可理解的

第1点:编译junit(使用apk发布)是否错误<代码>junit 4.12在我创建新项目时默认设置

第2点:我不想用
androidTestCompile
配置我的第三方依赖项,因为当我运行
/gradlew app:androiddependencies
时,它不会显示在
发布配置


错误:错误:与项目中的依赖项“junit:junit”冲突:应用程序。应用程序(4.8.1)和测试应用程序(4.12)的解析版本不同。有关详细信息,请参阅。

从库中排除junit

compile ("at.mukprojects:giphy4j:1.0.1") {
    exclude group: 'junit', module: 'junit'
}

为什么不将junit从另一个依赖项中排除呢?因此gradle包含junit两次?我假设库依赖于JUnit4.8.1。但是我的项目使用的是
4.12
版本,因此它们相互冲突。这就是错误所说的,是的。但是,除非您实际编译测试依赖项,否则不清楚为什么会出现此错误。您是否尝试过?它不会强制giphy4j使用“JUnit4.12”。它只是将要添加到应用程序模块gradle中的库排除在外。这样做会触发错误<代码>错误:(3,17)错误:包org.junit不存在
ExampleUnitTest.java
compile ("at.mukprojects:giphy4j:1.0.1") {
    exclude group: 'junit', module: 'junit'
}