Ошибка Gradle "Duplicate class" при добавлении библиотек uCrop и Cometchat - PullRequest
1 голос
/ 09 июня 2019

Когда я добавляю библиотеку UCrop версии 2.2.3 и Cometchat SDK версии 1.6. + Я получаю следующую ошибку:

Дубликат класса okhttp3.Adress, найденный в модулях okhttp-3.11.0.jar (com.squareup.okhttp3: ohttp: 3.11.0) и okhttp-3.12.0.jar (com.cometchat: pro-android-chat- SDK: 1.6.0)

Проблема в том, что ни на один из ранее заданных вопросов не было ответов, которые помогли бы решить мою проблему, потому что большинство из них используют метод 'compile', который сейчас устарел.

Я прочитал много вопросов здесь на stackoverflow по той же теме, в том числе это , это .

Я также пытался исключить библиотеку okhttp3 из одного из пакетов, чтобы использовался только один, используя

implementation('com.github.yalantis:ucrop:2.2.3' )
    {       
exclude group: 'com.cometchat', module: 'okhttp3'
  }

Буду признателен, если кто-нибудь объяснит мне, как исключается работа в gradle и что не так с кодом, который я написал.

1 Ответ

2 голосов
/ 11 июня 2019

Вместо исключения okhttp3 из группы com.cometchat попробуйте сделать это

implementation('com.cometchat:pro-android-chat-sdk:1.6.0') {
        configurations {
            compile.exclude module: 'okhttp'
        }
    }

Конфликт вызван тем, что ваши зависимости UCrop и CometChat внутренне используют библиотеку okhttp.Эту проблему необходимо исключить конфликтующей библиотекой.

Исключить транзитивную зависимость можно двумя способами.

  1. Исключить транзитивную зависимость по конфигурации
  2. Исключить транзитивную зависимость по зависимости

Подробнее о gradle dependency причинах конфликта и их решении вы можетепроверить эту ссылку https://www.concretepage.com/build-tools/gradle/gradle-exclude-transitive-dependency-example

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...