Ошибка дублированного класса при добавлении зависимостей | как удалить определенный класс

#android #gradle

#Android #gradle

Вопрос:

я добавляю в свой проект зависимости от внутренней связи

  implementation "io.intercom.android:intercom-sdk:8. '"
  

и я получаю эти ошибки:

 Duplicate class okio.-Base64 found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-DeflaterSinkExtensions found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-DeprecatedOkio found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-DeprecatedUpgrade found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-DeprecatedUtf8 found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-GzipSinkExtensions found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-GzipSourceExtensions found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-InflaterSourceExtensions found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-Platform found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
Duplicate class okio.-Util found in modules jetified-intercom-sdk-base-8.1.0-runtime.jar (io.intercom.android:intercom-sdk-base:8.1.0) and jetified-okio-jvm-2.4.3.jar (com.squareup.okio:okio:2.4.3)
  

я не могу найти правило для добавления в реализацию, чтобы исключить этот конкретный класс okio.-Утилита и тому подобное. кто-нибудь может помочь?

Спасибо

Комментарии:

1. У вас уже добавлены jar, и эта строка зависимостей в build.gradle загрузит и установит jar, что приведет к дублированию, о чем говорится в ошибке. Либо удалите jar, чтобы использовать эту строку в зависимости, либо просто удалите эту зависимость, чтобы использовать только jar.

Ответ №1:

я знаю этот способ исключить весь пакет из зависимости, может быть, вам поможет.

  // Retrofit
implementation "com.squareup.retrofit2:converter-gson:$retrofitVersion"
implementation ("com.squareup.retrofit2:retrofit:$retrofitVersion") {
    exclude module: 'okhttp'
}
  

Ответ №2:

Я опубликую ответ, но он очень специфичен для этой библиотеки, надеюсь, кому-нибудь поможет.

Библиотеки внутренней связи по умолчанию поставляются с некоторой зависимостью внутри aar / jar. чтобы избежать проблемы, здесь есть версия без них

https://www.intercom.com/help/en/articles/8716-using-transitive-dependencies-with-intercom-for-android

в итоге я добавил эту библиотеку, и все заработало.