0

有没有办法指定保留一个类的所有成员和方法,而不是它的构造函数。

4

2 回答 2

1

使用该-keep选项并指定构造函数名称。更多信息在这里(向下滚动到“保留选项”部分:Proguard 使用

例如,您可以使用 ! 执行以下操作:

-keep class !com.yourcompany.YourClass {
  <init>(...);
}
于 2012-12-25T06:51:03.223 回答
0

这是一个不寻常的要求,但这应该有效:

-keepclassmembers class mypackage.MyClass {
  <fields>;
  *** !<init>(...);
}

第三行匹配具有任何返回值、任何参数和任何名称的方法,除了<init>.

保留一个类-keep也会自动保留其无参数构造函数。

在代码中实例化一个类当然也会导致相应的构造函数被保留。

于 2012-12-26T10:19:51.893 回答