如何让Proguard成为整个包装的“keepclassmembers”

时间:2013-05-04 00:26:02

标签: android eclipse proguard

正如标题所说:我如何让Proguard获得整个包裹的keepclassmembers?还要使用void签名来删除方法。

1 个答案:

答案 0 :(得分:7)

保留给定包及其所有子包中所有类的所有类成员(字段和方法):

-keepclassmembers class mypackage.** { *; }

这包括void方法。只保留所有无效方法:

-keepclassmembers class mypackage.** { void *(...); }

这些是不寻常的设置,因为保留所有类成员或所有void方法(甚至不保留所有类)似乎是一个非常随机的要求。

对于大多数配置,-keep-keepclassmembers更合适,相关类通常只是公共的(匹配public class),相关类通常扩展特定的类或接口(例如匹配extends somepackage.SomeClass),相关的班级成员通常是一组非常具体的公共方法(例如公共制定者,匹配public void set*(***))。