2013-03-01 16 views
27

Androidプロジェクト用にproguardを設定しようとしています。私のアプリケーションプロジェクトにはほとんどコードがありませんが、大部分のコードと他の外部ジャーを持つライブラリプロジェクトを参照しています。つまり、私はproguardをこれを考慮してセットアップする方法がわかりません。現在、私のproguard設定ファイルは、Androidの例(the ProGuard site)です。私は周りを検索してきましたが、ライブラリプロジェクト、ちょうどジャーとproguardを使用することについて多くのドキュメントやドキュメントを見つけていません。私はプロガードには新しいので、正しい方向へのプッシュはすばらしいでしょう。ありがとう。AndroidライブラリープロジェクトでProGuardを設定する

答えて

15

編集

@BornToCodeが指摘するように、異なった答えは(もともとhereを掲載)より良いProGuardのによってどのように処理されるか、ライブラリプロジェクトについて説明します。さらに、この参照された質問は、私の元の応答でリンクされたものより多くの関心と全体的な評判を持っています。 引用:彼らは に任意の構成を使用していないので、それ自体で

ライブラリプロジェクトは、ProGuardのを実行しないでください。

アプリケーションプロジェクトは 参照ライブラリを含め、コードベース全体を難読化するため、 アプリケーションコードとライブラリコードの適切な設定が必要です。


旧回答(間違っていない、だけではおそらくない最良の方法)

ライブラリプロジェクトは、Eclipseでのjarファイルにプロジェクトをリンクする便利な方法の詳細です。プロジェクトをビルドするとき、コンパイラに表示されるライブラリプロジェクトの唯一のコンポーネントはjarファイルです。

あなたはそのjarファイルを難読化したい場合は、この記事をチェックアウト:

How to obfuscate an Android library (.jar file) using Proguard in Eclipse

+0

こんにちは、この答えは、[この](http://stackoverflow.com/questions/10982344/is-proguard-cfg-needed-for-library-projects#10992604と異なっているようです)。あなたは説明できますか? – BornToCode

+0

@BornToCodeあなたは絶対に正しいです。リンクされた応答は明らかに私の答えよりもはるかに評判です。私はここに私の答えでこれと引用へのリンクを追加しました。 – Phil

4

をそれはライブラリのProGuardの設定を指定するには、私には理にかなっている(ライブラリファイルを難読化すべきではありませんどのように)図書館プロジェクト。私は、自分のアプリケーションに自分のライブラリモジュールからproguard構成を含める必要もあることを知りました。これを行うために、私は自分のライブラリーのbuild.gradle

apply plugin: 'com.android.library' 

android { 
    defaultConfig { 
     consumerProguardFiles 'proguard-rules.pro' 
    } 
} 

defaultConfigセクションに以下を追加して、重要なシリアル化されたクラスの名前を保つために私のライブラリモジュールでproguard-rules.proファイルを構成しました。

も参照consumerProguardFiles gradle reference

関連する問題