2013-05-04 22 views

回答

7

爲了保持所有類的所有類成員(字段和方法)在給定的包和所有它的子包的:

-keepclassmembers class mypackage.** { *; } 

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

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

這是不尋常的設置,但因爲保持所有類成員或全部無效的方法(甚至沒有保持所有的類)似乎是一個很隨意的要求。

對於大多數配置,-keep-keepclassmembers更合適,相關的類通常僅公立(匹配public class),相關類通常延伸一個特定的類或接口(例如匹配extends somepackage.SomeClass),和相關的類成員典型地是非常特定的一套公共方法(例如公共設置者,匹配public void set*(***))。