由 Android Gradle 插件引起的重复 class

Duplicate class caused by Android Gradle plugin

我在使用 Gradle 和 Android Studio 时遇到了一些问题。尝试编译依赖项 com.nukkitx.protocol:bedrock-v407:2.6.0-SNAPSHOT 时出现重复的 class 错误,但在普通桌面 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)

通过使用 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"
}