クラスのすべてのメンバーとメソッドを保持するように指定する方法はありますが、コンストラクターは保持しません。
質問する
1286 次
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 に答える