Я разрабатываю приложение для Android, в котором я использую две зависимости gradle, и обе зависимости gradle имеют libwebrtc.jar с другой версией, поэтому я хочу исключить libwebrtc.jar из одной из зависимостей
dependencies {
implementation 'com.twilio:video-android:3.2.1'
implementation project(":webrtc-android-framework")
}
У этих двух зависимостей есть файл libwebrtc.jar с другой версией, если я удалю файл libwebrtc.jar из модуля webrtc-android-framework, тогда некоторые классы не найдены, поэтому я не могу удалить файл jar, поэтому я хочу исключить файл libwebrtc.jar из зависимости com.twilio:video-android:3.2.1
При создании приложения я получаю сообщение об ошибке ниже
Error: Program type already present:
org.webrtc.BaseBitrateAdjuster
Я добавил эти зависимости в файлы build.gradle не как модуль
Покажи свой код.
Пожалуйста, проверьте, что я разместил код
Включает ли проект (": webrtc-android-framework") com.twilio: video-android: 3.2.1?
Я включил "com.twilio: video-android: 3.2.1" в модуль (": webrtc-android-framework") и удалил его из модуля приложения
Ниже приведен способ обеспечения версии зависимости:
configurations.all {
resolutionStrategy.force 'your-dependency:version'
}
Если вы хотите исключить нижестоящие зависимости, зависящие от ваших зависимостей, попробуйте следующее:
implementation "one-of-your-dependencies" {
exclude group:'org.webrtc'
}
Или, в более общем смысле,
configurations.implementation.transitive = false
Или configurations.compile.transitive = false, если вы используете версию Gradle ниже 2.3.3.
Спасибо за Ваш ответ! Я не хочу исключать зависимость. Я хочу сохранить обе зависимости, но исключить файл jar, который содержится в обеих зависимостях с другой версией.
Пакет org.webrtc не находится в зависимости, но пакет org.webrtc находится в libwebrtc.jar, поэтому использование вашего решения не может исключить org.webrtc
Как вы добавляете эти зависимости?