難読化手順
○環境設定
・proguardのダウンロード
http://proguard.sourceforge.net/ よりダウンロードしてください。
(2010/4/26現在、4.4を対象にしています。)
・generalPath.propertiesの設定
generalPath.propertiesのPROGUARDJARにproguard.jarのパスを設定してください。
PROGUARDJAR=d:/java/proguard-4.4/lib/proguard.jar
○難読化設定
・アプリケーションのbuild.xmlに次の設定を追加してください。
(追加するファイルは、アプリケーションに合わせ変更してください。
多くの場合は、
fileset.lib.util.opensource
fileset.lib.log.opensource
fileset.lib.client.core
ぐらいか?)
また、ここに設定したjarは、アプリ本体に取り込まれるため、
別途jarを配置する必要はありません。
・上記設定のみで、デフォルト設定の縮小化、最適化、難読化を実行できますが、
独自の設定ファイルを使用したい場合、次のプロパティを設定することで使用できます。
・または、antcallにて呼び出すことも可能です。
パラメータとして、設定ファイル、対象jarファイル等を渡すことができます。
○難読化実行
・難読化は自動的には行われません。
次の手順で明示的に実行してください。
1. 0.create
2. obfuscater_setup (難読化開始処理)
3. obfuscater_merge (ライブラリ結合)
4. obfuscater_shrink (縮小化)
5. obfuscater_optimize (最適化) (shrinkも含んでいる)
6. obfuscater_obfuscate (難読化)
7. obfuscater_teardown (難読化終了処理)
・create/setup/merge/teardownは必須です。
実行しないとアプリケーションが動作しません。
・shrink/optimizeは必ずしも実行する必要はありませんが、
サイズが小さくなる等(速くもなる?)の利点があるため、
動作に特に問題ない場合は実行するようにしてください。
・obfuscateも必須です。
実行しなくてもアプリケーションは動作はしますが、ソース保護のため実行してください。
○createタスク
・難読化処理を自動的に実行するよう、次のようなタスクを作ると便利です。