错误:任务':app:prepareDebugAndroidTestDependencies'的执行失败。 >依赖性错误。请参阅控制台了解详情

时间:2016-11-03 05:56:36

标签: android gradle android-gradle build.gradle android-espresso

enter image description here错误:任务':app:prepareDebugAndroidTestDependencies'执行失败。

  

依赖性错误。有关详细信息,请参阅控制台。

在app.gradle文件中添加以下依赖项 -

androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
// add this for intent mocking support
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2'
// add this for webview testing support
androidTestCompile 'com.android.support.test.espresso:espresso-web:2.2.2'

控制台日志 -

信息:Gradle任务[:app:clean,:app:generateDebugSources,:app:mockableAndroidJar,:app:prepareDebugUnitTestDependencies,:app:generateDebugAndroidTestSources,:app:assembleDebug] 警告:与依赖项“com.android.support:support-annotations”冲突。 app(25.0.0)和测试app(23.1.1)的已解决版本有所不同。有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict。 错误:任务':app:prepareDebugAndroidTestDependencies'的执行失败。

  

依赖性错误。请参阅控制台了解详情   信息:建筑失败   信息:总时间:28.459秒   信息:1错误   信息:1警告   信息:请参阅控制台中的完整输出

3 个答案:

答案 0 :(得分:11)

我遇到同样的问题,当我在我的应用build.gradle android { }内添加以下代码时,没问题。 configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1' } 你可以在这个页面得到理由
Execution failed for task 'app:prepareDebugAndroidTestDependencies'

答案 1 :(得分:9)

您需要将此行添加到依赖项中:

androidTestCompile 'com.android.support:support-annotations:25.0.0' 

强制使用最新版本的库

您也可以尝试排除冲突包,就像我为espresso-contrib

所做的那样
dependencies {
    ext.JUNIT_VERSION = '4.12'
    ext.AA_VERSION = '4.0.0'
    ext.SUPPORT_VERSION = '24.1.1'
    ext.ESPRESSO_VERSION = '2.2.2'

...

    androidTestCompile "com.android.support:support-annotations:$SUPPORT_VERSION"
    androidTestCompile "com.android.support.test.espresso:espresso-core:$ESPRESSO_VERSION"
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile "com.android.support.test.espresso:espresso-intents:$ESPRESSO_VERSION"
    /**
     * AccessibilityChecks
     * CountingIdlingResource
     * DrawerActions
     * DrawerMatchers
     * PickerActions (Time and Date picker)
     * RecyclerViewActions
     */
    androidTestCompile("com.android.support.test.espresso:espresso-contrib:$ESPRESSO_VERSION") {
        exclude group: 'com.android.support', module: 'appcompat'
        exclude group: 'com.android.support', module: 'support-v4'
        exclude group: 'com.android.support', module: 'support-v7'
        exclude group: 'com.android.support', module: 'design'
        exclude module: 'support-annotations'
        exclude module: 'recyclerview-v7'
    }

答案 2 :(得分:1)

这是因为调试应用和测试应用中的库版本冲突。在android {}标记

下添加
configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-annotations:24.1.1'
    }
}