2016-06-16 4 views

答えて

0

私はあなたがcom.foo.barパッケージ(+サブパッケージ?)にすべてを残したいと思っています。あなたは、次のルールでこれを達成することができます

-keep class com.foo.bar.** { *; } 

あなただけの代わりに*を使用し、現在のパッケージにしたい場合は**パターンは、また、サブパッケージにマッチします。あなたはこのようなルールを使用している場合

-keep class !com.foo.** { *; } 

あなたが実際にcom.foo以外のすべてを維持します**、あなたは除外パターンに注意する必要がありますので。後で必ず少なくとも1つの包含パターンを必ず含めてください。除外パターンは、包含パターンとしてより具体的でなければなりません。以下を参照してください。

ProGuardのは、それが一致するものを見つけたら、ルールの評価を停止しますので、このルールは、(それをテストした)正しく解析する必要がありますが、動作しません。

-keep class !com.foo.**, com.foo.bar.** { *; } 

除外パターン!com.foo.**がCOMのすべてと一致します。 fooとサブパッケージの間にあるので、com.foo.barにもマッチします。

+0

私に明確にさせてください。私はcom.foo。*の下にある以外はすべてのクラスを保持したい。また、com.foo.bar。*も保持する必要があります。 – wooohoh

+0

結局、私は** com.foo。***を除外して** obsfucateしたいです** *** – wooohoh

関連する問題