M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

ProGuardマニュアル(4) ダウンサイジング・オプション

原文は、ProGuard Manual”(Eric Lafortune)です(2011年3月29日取得)。

イントロダクションと索引はこちら

*****************************

ダウンサイジング・オプション*1

-dontshrink

入力クラスファイルをダウンサイズ処理しないように指定します。デフォルトでは、ダウンサイズ処理は実施されます。種々の-keep系オプションで指定されたクラスとそれらが直接・間接に依存するクラスを除く、すべてのクラスとクラス・メンバーが削除されます。最適化処理はより多くのクラスとクラス・メンバーを削除可能にすることがあるため、各最適化ステップのあとにもダウンサイジングは行われます。

-printusage [filename]

入力クラスファイルに含まれる使用されなくなったコード(dead code)を一覧します。一覧は、標準出力もしくはfilenameとして与えられたファイルに出力されます。例えば、アプリケーション内で使用されなくなっているコードを一覧することができます。ダウンサイジング過程にのみ有効なオプションです。

-whyareyoukeeping class_specification

指定されたクラスとクラス・メンバーがどのような理由で削除されずにおかれることになったか、詳細を出力します。このオプションは、指定された要素がなぜ出力クラスファイルに含まれているのかを疑問に思った際に便利です。一般的に、いくつもの理由が考えられます。このオプションは、指定されたクラスとクラス・メンバーのそれぞれについて、(訳者:-keep系オプションにより)保全するよう指定されている要素もしくはエントリーポイントとつながるくメソッド呼び出し連鎖の、最短のものを出力します。現在の実装では、この出力される最短のメソッド呼び出し連鎖は、循環推論──それらは実際のダウンサイジング処理過程には反映されません──を含むことがあります。-verboseオプションが指定される場合、-whyareyoukeepingオプションによる出力には完全なフィールドとメソッドのシグネチャが含まれることになります。

*****************************

ProGuardマニュアル(5)につづく。

*1:訳者:原題は、“Shrinking Options”です。