Ошибка при реализации Vimeo-сети

Я пробовал много разных способов включения Vimeo в свое приложение, но ничего не помогло. Если я удаляю реализацию, она работает нормально, поэтому я знаю, что это проблема.compile 'com.vimeo.networking:vimeo-networking:1.1.1'

дает мне эту ошибку

Ошибка: выполнение задачи не выполнено:app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Невозможно объединить dex

Я искал все и пока не нашел решения (да, я пытался очистить и перестроить проект)

2 ответа

Решение

РЕШЕНИЕ: ответ Антоника был идеальным, но я также должен был сделать это:

implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
    exclude group: 'org.jetbrains', module: 'annotations'
}

implementation ('com.vimeo.networking:vimeo-networking:1.1.1') {
    exclude group: 'org.jetbrains', module: 'annotations'
}

Я считаю, что это результат vimeo-networking библиотека, включающая зависимость, которую вы также отдельно включаете в свой файл Gradle. Глядя на файл Gradle для подсказки, главный подозреваемый является кувшин аннотаций intellij 'com.intellij:annotations:12.0@jar' Зависимости, которые я видел, вызывают аналогичные проблемы, когда также включены в ваш основной проект, а также подпроекты.

Решение этой проблемы состоит в том, чтобы исключить jar аннотаций при компиляции в vimeo-networking библиотека следующим образом:

compile ('com.vimeo.networking:vimeo-networking:1.1.1') {
    exclude group: 'org.jetbrains', module: 'annotations'
}

Попробуйте это и посмотрите, исправит ли это ваше исключение при сборке. Вообще я видел, что причина для Unable to merge dex ошибка заключается в том, что в конечном файле dex есть несколько определений одного и того же класса, что обычно является результатом включения файла jar несколько раз.

Другие вопросы по тегам