0

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

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

4

1 回答 1

0

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

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

通常,在添加 Jersey 依赖项时,javax.annotation会从 javax.annotation-api-1.2.jar 添加类,而其中一些已经存在于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'
}
于 2016-05-03T09:01:40.963 回答