我在Gluon应用程序中尝试使用Jersey(客户端)时遇到了这个问题: https://bitbucket.org/javafxports/android/issues/68/proguard-complains-about-duplicate-classes
问题已标记为已解决。这是否意味着它应该工作(没有解决方法)?我的应用程序可以在iPad上运行(尽管有很多警告),只有在尝试在Android上运行时才会出现问题。
答案 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'
}