2013-05-04 23 views

回答

7

为了保持所有类的所有类成员(字段和方法)在给定的包和所有它的子包的:

-keepclassmembers class mypackage.** { *; } 

这包括空隙的方法。要只保留所有的void方法:

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

这是不寻常的设置,但因为保持所有类成员或全部无效的方法(甚至没有保持所有的类)似乎是一个很随意的要求。

对于大多数配置,-keep-keepclassmembers更合适,相关的类通常仅公立(匹配public class),相关类通常延伸一个特定的类或接口(例如匹配extends somepackage.SomeClass),和相关的类成员典型地是非常特定的一套公共方法(例如公共设置者,匹配public void set*(***))。