Tutaj jest częścią mojego build.gradle
że ma konflikt:Android AssertJ 1.0.0 z Androidem 1.1.1 Gradle
...
dependencies {
classpath 'com.android.tools.build:gradle:1.1.1'
}
...
testCompile('com.squareup.assertj:assertj-android:1.0.0')
...
Problem widzę w dzienniku:
WARNING: Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (21.0.3) and test app (20.0.0) differ.
Podobno usuwa konflikt zależność od ścieżki klasy. Nie jestem pewien, czy jest to wtyczka gradle
lub android gradle
.
Próbowałem dalej:
testCompile('com.squareup.assertj:assertj-android:1.0.0') {
exclude group: 'com.android.support', module: 'support-annotations'
}
Ale nadal mam błędy kompilacji więc zależność jest wykluczone.
Próbowałem dalej:
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']
}
}
Ale wygląda na to, że nie działa, ponieważ nie zawodzi pierwszego konfliktu i nadal mam błędy kompilacji.
Jakie będą Twoje sugestie?
UPDATE Co mam na myśli, usuwając zależność - widzę dużo błędów kompilacji że assertj
nie znaleziono
nie działa dla mnie. Nadal widzę wiele "błąd: pakiet org.assertj.android.api nie istnieje import statycznego org.assertj.android.api.Assertions.assertThat;' –
Czy możesz spróbować uruchomić 'gradle clear' przed testami? –