正确的 Proguard 配置以保持静态内部类



>我有以下内容:

public class A extends B {
    static class C {
        Object field1;
        int field2;
        boolean field3;
    }
}

无法通过反射获得 C 类!

我尝试了以下方法:

-keep class com.path.to._class.A$** {*;}
-keep class com.path.to._class.A$* {*;}
-keep class com.path.to._class.A$C {*;}
-keep class com.path.to._class.A$C {
    <fields>;
}
-keep class com.path.to._class.A$C {
    Object field1;
    int field2;
    boolean field3;
}

以上都不起作用。我在这里做错了什么吗?

也许值得一提的是,B扩展了视图...

所有这些都

应该有效(只有Object ->java.lang.Object)。您可以检查 bin/proguard/seeds.txt以查看它们是否列出。否则,您可能修改了错误的配置文件,或者名称中可能存在拼写错误。

-keep public class com.path.to._class.A$C {*;}

这对我有用,发布很晚,但仍然可以帮助遇到此问题的其他人

最新更新