Proguard混淆和通用方法

nem*_*emo 8 java generics obfuscation android proguard

我正在尝试使用ProGuard混淆Android应用程序.

我在这里上课

public class Book implements DBbinded
Run Code Online (Sandbox Code Playgroud)

和一般的方法

private void storeDBObjects(ArrayList<? extends DBbinded> dbObjects)
Run Code Online (Sandbox Code Playgroud)

在混淆之后,此方法的调用将抛出java.lang.ClassCastException:java.util.LinkedHashMap.我应该写什么来proguard.properties来解决这个问题?

Oce*_*ife 7

我刚刚遇到这个问题并通过在-keepattributesProGuard参数下指定'Signature'属性来解决它.

-keepattributes SourceFile,LineNumberTable,Signature,*Annotation*
Run Code Online (Sandbox Code Playgroud)

我不相信它是ProGuard的错误.希望有所帮助.

  • 是的,签名是在args! (2认同)

Eri*_*une 0

这可能是 ProGuard 中的一个错误。您应该检查安装最新版本是否有帮助(此时为 ProGuard 4.9 beta1:将 proguard4.9beta1/lib/proguard.jar 复制到 android-sdk/tools/proguard/lib 中)。否则,您可以在ProGuard 的错误跟踪器上报告问题。