- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉,如果我错过了涵盖此内容的回复,但我已努力努力寻找类似的内容。
我真的对 Proguard 的行为感到困惑,我想知道我是否在阅读文档错误或者行为是否错误。
如果保留了该类,我想保留一个类中的注释字段和成员。所以我用了keepclassmembers
像这样:
-keepclassmembers class com.mycompany.** {
@com.mycompany.**
public com.mycompany.** *;
@com.mycompany.**
public void *(com.mycompany.**);
}
-keepclassmembers [,modifier,...] class_specification
Specifies class members to be preserved, if their classes are preserved as well. For example, you may want to keep all serialization fields and methods of classes that implement the Serializable interface.
-whyareyoukeeping class com.company.MyServiceImpl
?
com.mycompany.MyServiceImpl
is invoked by com.mycompany.MyServiceImpl: void handleEvent(com.mycompany.MyEvent) (34:35)
is kept by a directive in the configuration.
handleEvent
只是调用
MyServiceImpl
中的另一个方法,
所以这似乎不是保留全类的正当理由 ,但这是我能想到的唯一想法。
keepclassmembers
似乎强制
keep
在包含指定成员的任何类上,不仅“如果它们的类也被保留”?但更直接的是,
如何将公共(public)注释事件监听器保留在 Proguard 已经通过其他规则保留的类中?
最佳答案
您的初始配置和对它的解释看起来是正确的。如果我在一个简单的例子上尝试它也可以:如果已经保留了带注释的字段和方法,则保留它们的类。当然,那些带注释的方法可能包含拖入更多类的代码。
-whyareyoukeeping 的输出只说明了一半,在这种情况下并不是很有帮助。您可以检查 -printseeds 是否提供了一些提示。
带有“允许”修饰符的可行配置似乎没有多大意义;我不会太相信它。
如果您仍然认为存在错误,可以在 ProGuard bug tracker 中报告。 ,最好有一个可以让我重现问题的例子。
关于java - Proguard keepclassmembers 保持类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752208/
抱歉,如果我错过了涵盖此内容的回复,但我已努力努力寻找类似的内容。 我真的对 Proguard 的行为感到困惑,我想知道我是否在阅读文档错误或者行为是否错误。 如果保留了该类,我想保留一个类中的注释字
如标题所述:如何让 Proguard 对整个包进行keepclassmembers?也可以删除带有 void 签名的方法。 最佳答案 保留给定包及其所有子包中所有类的所有类成员(字段和方法): -ke
您好,我正在尝试在我的 Libgdx 项目中使用 Proguard,但是当我使用 -keepclassmembers 时,我不明白类成员是什么意思,因为我也有 -keep,用于保留类。我不知道这是一个
我通读了 http://proguard.sourceforge.net/index.html#manual/usage.html但无法理解它们的差异。 我用 2 个不同的选项进行了测试并反编译了结果
阅读 proguard rules 我发现自己面临三个看起来非常相似的术语保持 keepclassmembers keepclasswithmembers 我不明白这三个规则之间的区别,谁能更好地解释
我是一名优秀的程序员,十分优秀!