処理するアプリケーションの入力 jar (または aars、wars、ears、zip、apk、またはディレクトリ) を指定します。これらの jar 内のクラス ファイルが処理され、出力 jar に書き込まれます。デフォルトでは、クラス以外のファイルは変更なしでコピーされます。ディレクトリから直接入力ファイルを読み取る場合は特に、一時ファイル (IDE によって作成されたものなど) に注意してください。フィルター セクションで説明されているように、クラス パス内のエントリをフィルター処理できます。読みやすくするために、複数の -injars オプションを使用してクラスパス エントリを指定できます。
処理するアプリケーションのライブラリ jar (または aars、wars、ears、zip、apk、またはディレクトリ) を指定します。The files in these jars will not be included in the output jars. The specified library jars should at least contain the class files that are extended by application class files. Library class files that are only called needn't be present
、しかしそれらの存在は最適化ステップの結果を改善することができます. フィルター セクションで説明されているように、クラス パス内のエントリをフィルター処理できます。読みやすくするために、複数の -libraryjars オプションを使用してクラスパス エントリを指定できます。ライブラリ クラスを検索する場合、ProGuard を実行するために設定されたブート パスとクラス パスは考慮されないことに注意してください。This means that you explicitly have to specify the run-time jar that your code will use.
これは面倒に思えるかもしれませんが、さまざまなランタイム環境を対象とするアプリケーションを処理できます。たとえば、適切なランタイム jar を指定するだけで、J2SE アプリケーションだけでなく、JME midlets または Android アプリケーションも処理できます。
私の結果`
- -injars MyApp.jar
- -libraryjars ${java.home}/lib/rt.jar
- -libraryjar ${java.home}/lib/jsse.jar
- -libraryjar ${java.home}/lib/jce.jar
3rd part libに関しては、若干の違いがあります。
指定されたライブラリ jar には、アプリケーション クラス ファイルによって拡張されるクラス ファイルが少なくとも含まれている必要があります。呼び出されるだけのライブラリ クラス ファイルは存在する必要はありません
、そのため、第 3 部分のライブラリは設定する必要がない場合があります。