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>(...);
}

3行目は、。を除く、任意の戻り値、任意の引数、および任意の名前を持つメソッドと一致します<init>

クラスを保持すると-keep、パラメーターのないコンストラクターも自動的に保持されます。

もちろん、コードでクラスをインスタンス化すると、対応するコンストラクターも保持されます。

于 2012-12-26T10:19:51.893 に答える