我在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)

最佳答案

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

10-05 19:35