3

集成 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.** {*;}

如何解决这些错误?

4

3 回答 3

3

如果你之前签成功了,和我遇到的情况一样。

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

它成功了!

于 2014-02-20T06:40:11.753 回答
2

自己解决了问题。只是想我为什么不把所有的 scoreloop 类一起调用,看看会发生什么;它奏效了。行后:

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

我已经添加:

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

这解决了它。

于 2013-10-04T17:03:21.647 回答
0

使用-dontnote而不是dontwarn.

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

于 2019-10-07T03:26:25.903 回答