Proguard错误:有211个重复的类定义

时间:2013-10-04 16:10:49

标签: android proguard scoreloop

在集成Scoreloop后导出时出现以下错误。在那之前它很好。

Proguard returned with error code 1. See console
Note: there were 211 duplicate class definitions.
You should check if you need to specify additional program jars.
Exception in thread "main" java.lang.StackOverflowError
at proguard.obfuscate.ClassObfuscator.visitEnclosingMethodAttribute(ClassObfuscator.java:182)
.........
.............

可能还有210多个错误,我在这里没有给出。我通过以下方式在proguard-project.txt中提到了Scoreloop:

#############
# Scoreloop #
#############
-dontwarn com.scoreloop.client.android.core.paymentprovider.**
-keep class com.scoreloop.client.android.core.paymentprovider.fortumo.FortumoPaymentProviderController {*;}
-keep class com.scoreloop.client.android.core.paymentprovider.fortumo.FortumoPaymentProvider {*;}
-keep class com.scoreloop.client.android.core.paymentprovider.paypalx.PayPalXPaymentProviderController {*;}
-dontwarn com.scoreloop.client.android.core.ui.WebViewDialog
-keep class com.scoreloop.client.android.core.ui.WebViewDialog {*;}
-keep class com.facebook.android.** {*;}

如何解决这些错误?

3 个答案:

答案 0 :(得分:3)

如果您之前成功签名,那就是我遇到的情况。

删除项目中的proguard文件夹后,我尝试再次对apk进行签名。

成功了!

答案 1 :(得分:2)

自己解决问题。想到为什么我不把所有的得分循环课程召集起来,看看会发生什么;它起作用了。行之后:

-dontwarn com.scoreloop.client.android.core.paymentprovider.**

我添加了:

-keep class com.scoreloop.** {*;}

这解决了它。

答案 2 :(得分:0)

使用-dontnote代替dontwarn

参考:https://www.guardsquare.com/en/products/proguard/manual/usage