2016-03-23 9 views
1

私は今Proguardを勉強していますが、感嘆符と混同しています!ProGuardではクラスパスの前に感嘆符ができますか?

-keepクラス!android.support.v7.view.menuのように、クラスパスの前に設定します。 {*;} **

これは "!"行う?それはプロゴードがこのクラスを守らないことを意味しますか?プロゴアードがすべてのクラスを難読化するので、なぜそれが必要なのですか?

+0

http://proguard.sourceforge.net/manual/usage.html#keepoptions –

答えて

2

それは同じことを意味します!他の多くのプログラミング言語を意味します。次の選択を否定します。したがって、あなたの例では、keepディレクティブは、でなく、のパッケージ/クラスのすべての項目に適用されます。

+0

ダグに感謝します。私の設定ファイルに何も保存していないと、すべてのクラスを難読化することになります。 – Qing

+0

ProGuardは可能な限り難読化しようとします。しかし、少なくともあなたのプロジェクトにはデフォルトのAndroidルールがあるべきです。そうしないと、おそらく難読化の後に動作しません。 –

+0

ありがとう、最後の1つの質問、私はこのルールを持っています1.クラスkeep!android.support.v7.view.menu ** {*;}このパッケージのMenuBuilderクラスを難読化しますが、私はルールのこの行を追加した後#キーインターフェイスandroid.support.v7。** {*; }、MenuBuilderクラスは難読化されていませんが、ここでは矛盾がありません。もう少し説明してもらえますか?ありがとうございます – Qing

関連する問題