Когда вы запускаете ./gradlew :app:dependencies
, вы узнаете о транзитивных зависимостях библиотек, включенных в их gradle.
Из этого иерархического представления можно узнать, какие библиотеки зависят от более старых версий и exclude
их в градле, как показано ниже:
exclude group:'com.android.support'//as an example support library is excluded
Что касается этого вопроса, то это можно сделать так:
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation ('com.google.firebase:firebase-core:15.0.2'){
exclude group:'com.android.support'
}
Здесь библиотека поддержки исключена как ядро firebaseзависел от более старых версий, создавая конфликт.
ПРИМЕЧАНИЕ:
Если ваши зависимости включают не библиотеки, которые вы исключили, а зависимость, от которой у вас естьисключение необходимо, вы можете добавить исключенную библиотеку в Gradle с вашей совместимой версией.