胶子:重复拉链入口

时间:2016-05-03 07:49:59

标签: java jersey jersey-client gluon gluon-mobile

我在Gluon应用程序中尝试使用Jersey(客户端)时遇到了这个问题: https://bitbucket.org/javafxports/android/issues/68/proguard-complains-about-duplicate-classes

问题已标记为已解决。这是否意味着它应该工作(没有解决方法)?我的应用程序可以在iPad上运行(尽管有很多警告),只有在尝试在Android上运行时才会出现问题。

1 个答案:

答案 0 :(得分:0)

现在,如果您尝试将相同的类两次添加到dex文件,android任务将失败。

如果您碰巧添加了一些依赖项,该依赖项会添加rt.jar中已有的任何类,那么这将失败。

通常,在添加Jersey依赖项时,会从javax.annotation-api-1.2.jar添加javax.annotation个类,而其中一些类已经存在于JDK中。

如果您没有删除这些重复类的源代码,解决方案将从依赖项中排除某些组。

这适用于我,至少运行android任务,但没有进一步测试真实案例:

dependencies {
    compile 'com.gluonhq:charm:2.2.0'
    compile ('org.glassfish.jersey.core:jersey-client:2.22.2') {
        exclude group: 'javax.annotation'
        exclude group: 'javax.inject'
    }

    androidRuntime 'com.gluonhq:charm-android:2.2.0'
    iosRuntime 'com.gluonhq:charm-ios:2.0.0'
    desktopRuntime 'com.gluonhq:charm-desktop:2.0.0'
}