8

我有以下内容:

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 扩展了 View ...

4

2 回答 2

6

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

于 2013-10-15T17:43:46.270 回答
0
-keep public class com.path.to._class.A$C {*;}

这对我有用,发布得很晚,但仍然可以帮助其他人面临这个问题

于 2018-01-24T13:57:40.350 回答