Повторяющийся класс вызван плагином Android Gradle - PullRequest
0 голосов
/ 13 июля 2020

У меня проблемы с Gradle и Android Studio. При попытке скомпилировать зависимость com.nukkitx.protocol:bedrock-v407:2.6.0-SNAPSHOT я получаю повторяющиеся ошибки класса, но при компиляции в обычном настольном проекте Gradle он компилируется нормально. Любая помощь будет принята с благодарностью.

Код: https://github.com/rtm516/GeyserAndroid

Ошибка:

Duplicate class it.unimi.dsi.fastutil.ints.IntIterator found in modules jetified-fastutil-common-8.3.1.jar (com.nukkitx.fastutil:fastutil-common:8.3.1) and jetified-fastutil-int-common-8.3.1.jar (com.nukkitx.fastutil:fastutil-int-common:8.3.1)
Duplicate class it.unimi.dsi.fastutil.longs.LongIterator found in modules jetified-fastutil-common-8.3.1.jar (com.nukkitx.fastutil:fastutil-common:8.3.1) and jetified-fastutil-long-common-8.3.1.jar (com.nukkitx.fastutil:fastutil-long-common:8.3.1)
Duplicate class it.unimi.dsi.fastutil.objects.ObjectIterator found in modules jetified-fastutil-common-8.3.1.jar (com.nukkitx.fastutil:fastutil-common:8.3.1) and jetified-fastutil-object-common-8.3.1.jar (com.nukkitx.fastutil:fastutil-object-common:8.3.1)

1 Ответ

0 голосов
/ 13 июля 2020

Удалось исправить это, используя https://github.com/shevek/jarjar и удалив повторяющиеся классы, используя приведенные ниже.

implementation jarjar.repackage {
    from 'com.nukkitx.fastutil:fastutil-common:8.3.1'

    classDelete "it.unimi.dsi.fastutil.ints.IntIterator"
    classDelete "it.unimi.dsi.fastutil.longs.LongIterator"
    classDelete "it.unimi.dsi.fastutil.objects.ObjectIterator"
}
...