Dies ist Teil meines build.gradle
, den Konflikt hat:Android AssertJ 1.0.0 mit Android gradle 1.1.1
...
dependencies {
classpath 'com.android.tools.build:gradle:1.1.1'
}
...
testCompile('com.squareup.assertj:assertj-android:1.0.0')
...
Das Problem, das ich in Protokoll anzeigen:
WARNING: Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (21.0.3) and test app (20.0.0) differ.
Anscheinend es widersprüchliche entfernt Abhängigkeit vom Klassenpfad. Ich bin mir nicht sicher, ob es gradle
oder android gradle
Plugin ist.
Ich habe nächste versucht:
testCompile('com.squareup.assertj:assertj-android:1.0.0') {
exclude group: 'com.android.support', module: 'support-annotations'
}
Aber ich habe noch Kompilierungsfehlern haben so die Abhängigkeit ist ausgeschlossen.
Ich habe versucht, weiter:
configurations.all {
resolutionStrategy {
// fail eagerly on version conflict (includes transitive dependencies)
// e.g. multiple different versions of the same dependency (group and name are equal)
failOnVersionConflict()
// force certain versions of dependencies (including transitive)
// *append new forced modules:
force 'com.android.support:support-annotations:21.0.3'
// *replace existing forced modules with new ones:
forcedModules = ['com.android.support:support-annotations:21.0.3']
}
}
Aber sieht aus wie es nicht, da funktioniert es nicht auf den ersten Konflikt versagt und ich noch Kompilierungsfehlern haben.
Was werden Ihre Vorschläge sein?
UPDATE Was meine ich durch die Abhängigkeit zu entfernen - ich viel Kompilierungsfehler sehen, dass assertj
nicht
Ist für mich nicht. Ich sehe immer noch viel 'error: Paket org.assertj.android.api existiert nicht import static org.assertj.android.api.Assertions.assertThat;' –
Können Sie versuchen, 'gradle clear' vor den Tests auszuführen? –