2016-07-04 21 views
5

Sto provando ad utilizzare Espresso 2.0 nella mia app, per testare gli elementi dell'interfaccia utente. Comunque il gradle non lo lascia fare. Mi dà questo messaggioVersione Android 24.0.0 ed Espresso 2.0 gradle exception

Error:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (24.0.0) and test app (23.1.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details. 

Questo è il mio file di Gradle

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 24 
buildToolsVersion "24.0.0" 

defaultConfig { 
    applicationId "theo.testing.espressotutorial" 
    minSdkVersion 14 
    targetSdkVersion 24 
    versionCode 1 
    versionName "1.0" 


} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

packagingOptions{ 
    exclude 'LICENSE.txt' 
    } 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:24.0.0' 

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0' 

// Android JUnit Runner 
androidTestCompile 'com.android.support.test:runner:0.5' 
// JUnit4 Rules 
androidTestCompile 'com.android.support.test:rules:0.5' 
} 

Devo strumento di aggiornamento dei corridori di prova? Questo mi sta facendo venire il mal di testa.

Grazie,

Theo.

risposta

12

Espresso ha dipendenze transitive che causano questi problemi. Si può solo escludere tutte le dipendenze al gruppo com.android.support dal tuo androidTest dipendenze:

// Exclude Espresso's transitive dependencies to all packages in group com.android.support 
configurations.androidTestCompile.dependencies.each { androidTestCompileDependency -> 
    androidTestCompileDependency.exclude group: 'com.android.support' 
} 

Si dovrebbe usare Espresso 2.2.2! Un esempio completo:

dependencies { 

    def espressoVersion = '2.2.2' 
    def testRunnerVersion = '0.5' 

    androidTestCompile "com.android.support.test:runner:${testRunnerVersion}" 
    androidTestCompile "com.android.support.test:rules:${testRunnerVersion}" 
    androidTestCompile "com.android.support.test.espresso:espresso-core:${espressoVersion}" 
    androidTestCompile "com.android.support.test.espresso:espresso-contrib:${espressoVersion}" 
    androidTestCompile "com.android.support.test.espresso:espresso-intents:${espressoVersion}" 

    configurations.androidTestCompile.dependencies.each { androidTestCompileDependency -> 
     androidTestCompileDependency.exclude group: 'com.android.support' 
    } 
} 
Problemi correlati