web-dev-qa-db-ja.com

proguardを使用するときに特定のパッケージパスを保持/除外する方法

ProGuardからいくつかのファイルパスを除外したい。例com.myapp.customcomponents

これどうやってするの?このディレクトリにあるすべてのカスタムコンポーネントファイルに-keepフラグを配置するのは嫌です。

私は以下を試しましたが、うまくいきません:

-keep public class com.myapp.customcomponents.*
98
Jona

どのように機能しないかを指定しないでください。設定は、指定されたパッケージ内のすべてのパブリッククラスの名前を保持します。

-keep public class com.myapp.customcomponents.*

次の構成は、指定されたパッケージとそのサブパッケージ内のすべてのパブリッククラスの名前を保持します。

-keep public class com.myapp.customcomponents.**

次の構成では、指定されたパッケージとそのサブパッケージ内のすべてのパブリック/保護されたクラス/フィールド/メソッドの名前が保持されます。

-keep public class com.myapp.customcomponents.** {
  public protected *;
}
212
Eric Lafortune

ProGuard構成の下部に次の行を追加します。

-keep class com.facebook.** { *; }

パッケージ名を適宜置き換えます。ここではパッケージcom.facebookはProGuardから除外されます。

45