2016-04-11 3 views
19

Ich stieß auf diese Ausnahme beim Hinzufügen von Espresso zu einem Android-Projekt. Ich versuche schon den Link, der mit dieser AusnahmeKonflikt mit Abhängigkeit 'com.android.support:support-annotations'. Gelöste Versionen für App (23.3.0) und Test-App (23.1.1) unterscheiden sich

**Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.3.0) and test app (23.1.1) differ** 

auch nach anderem Thread ich die folgende Zeile kommt fand ich

**androidTestCompile 'com.android.support:support-annotations:23.1.0'** 

Aber das Problem besteht nach wie vor. Ich verwende die folgenden Konfigurationen:

buildToolsVersion "23.0.2" 

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' 

Irgendwelche Ideen, danke.

+0

Haben Sie versuchen, laufen './gradlew -q App: Abhängigkeiten, um zu sehen, welche Bibliothek den Konflikt verursacht? –

+0

Go for: http://Stackoverflow.com/a/36835268/3779239 Dieser Link wird Ihr Problem lösen. –

Antwort

14
dependencies { 
    //... 

    // Solves "versions for app (23.3.0) and test app (23.1.1) differ" 
    androidTestCompile 'com.android.support:support-annotations:23.3.0' 

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

Ich habe all das und bekomme immer noch den Fehler. –

+0

wahrscheinlich über eine andere Bibliothek? fügen Sie alle com.android.support ... Bibliotheken dort für androidTestCompile – Frank

+1

Thanks ... androidTestCompile 'com.android.support:support-annotations:XX.XX.XX' Ihre App-Version – Pierry

0
сompile 'com.android.support:support-annotations:23.3.0' 
androidTestCompile ("com.android.support.test:runner:0.5"){ 
    exclude group: 'com.android.support' 
} 
androidTestCompile ('com.android.support.test:rules:0.5'){ 
    exclude group: 'com.android.support' 
} 

Es ist eine Lösung

+0

Warum würde dies das Problem lösen? Ich verstehe es nicht. Ich habe es versucht, und es löst nichts. –

+0

Meine Abhängigkeiten Versionen: <- Sprache: gradle ->! androidGradleToolsVersion = '2.1.0' androidBuildToolsVersion = '23 .0.2' androidSDKVersion = 23 androidSupportLibVersion = '23 .3.0' <- Sprache : lang-none -> versuchen Sie es zu ändern.Oder versuchen Sie, die neuesten Versionen zu verwenden. Aber ich denke, dass Sie dennoch ein Stück Code oben verwenden müssen. –

20

Diese lösen das Problem 'gelöst Versionen für app (24.0.0-beta 1) und Test-App (23.0.1) unterscheiden' für mich.

android{  
    configurations.all { 
     resolutionStrategy.force 'com.android.support:support-annotations:23.0.1' 
    } 
} 

Und vergessen Sie nicht folgende Code hinzufügen, wenn Sie die AndroidTest

defaultConfig { 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 
+0

Dies ist die einzige Antwort, die für mich funktionierte. Man muss 'configurations.all' am Ende des Blocks ** dependencies ** setzen. –

7

Heute ausführen möchten, wenn Sie ein neues Projekt auf Android Studio erstellen, fügt sie diese Abhängigkeit von Standard:

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 

Der Abschnitt exclude ist wahrscheinlich, um den in der Frage erwähnten Konflikt zu vermeiden. Dieses Problem trat auch auf, als ich versuchte, die Abhängigkeiten runner:0.5 und rules:0.5 hinzuzufügen. Meine Lösung war, das gleiche Stück Code oben auf ihnen anzuwenden:

androidTestCompile ('com.android.support.test:runner:0.5', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 

androidTestCompile ('com.android.support.test:rules:0.5', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 

Es funktioniert für mich. Ich hoffe es hilft.

2

Anmerkung Bibliothek wird von allen drei Abhängigkeiten Regeln verwendet: 0,5' , Läufer: 05 und Espresso-Kern: 2.2.2, so arbeiten folgende für mich

androidTestCompile 'com.android.support.test:runner:0.5', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
} 
androidTestCompile 'com.android.support.test:rules:0.5', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
} 
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}