#android #gradle #android-library #android-version
Вопрос:
Я использую библиотеку Android версии 4.0.0, та же библиотека, которая используется другой сторонней библиотекой, имеет версию 5.0.0. Конфликт здесь заключается в том, что я использую как библиотеку Android, так и стороннюю библиотеку. Библиотека Android, которая использовалась в сторонней библиотеке, имеет другую версию, и я использовал другую версию.
Третья сторона использует более высокую версию, тогда как я использовал более низкую версию.
Есть ли какой-либо способ использовать две разные версии одной и той же библиотеки: одну версию в приложении и другую версию в сторонней библиотеке?
Ответ №1:
Иногда есть способы исключить зависимости библиотеки из проектов, чтобы вы могли переопределить, какая версия используется. Однако вы должны иметь в виду, что если что-то имеет реализацию, специфичную для более низкой (или более высокой) версии библиотеки, то это не сработает.
И пример того, как вы можете исключить модуль из зависимости, выглядит следующим образом:
dependencies {
implementation("some-library") {
exclude(group = "com.example.imgtools", module = "native")
}
}
Этот пример взят из документации Google здесь: https://developer.android.com/studio/build/dependencies#exclude_dependencies
В примере «some-library» будет сторонней библиотекой, которую вы используете, а «com.example.imgtools» — это зависимость, которую имеют обе библиотеки, имеющие конфликтующие версии.