正如标题所说:我如何让Proguard获得整个包裹的keepclassmembers
?还要使用void
签名来删除方法。
答案 0 :(得分:7)
保留给定包及其所有子包中所有类的所有类成员(字段和方法):
-keepclassmembers class mypackage.** { *; }
这包括void方法。只保留所有无效方法:
-keepclassmembers class mypackage.** { void *(...); }
这些是不寻常的设置,因为保留所有类成员或所有void方法(甚至不保留所有类)似乎是一个非常随机的要求。
对于大多数配置,-keep
比-keepclassmembers
更合适,相关类通常只是公共的(匹配public class
),相关类通常扩展特定的类或接口(例如匹配extends somepackage.SomeClass
),相关的班级成员通常是一组非常具体的公共方法(例如公共制定者,匹配public void set*(***)
)。