ProGuard から一部のファイル パスを除外したい。例com.myapp.customcomponents
これどうやってするの?このディレクトリにあるすべてのカスタム コンポーネント ファイルに -keep フラグを設定するのは嫌いです。
次のことを試しましたが、うまくいきません。
-keep public class com.myapp.customcomponents.*
どのように機能しないかは指定しません。構成は、指定されたパッケージ内のすべてのパブリック クラスの名前を保持します。
-keep public class com.myapp.customcomponents.*
次の構成では、指定したパッケージとそのサブパッケージ内のすべてのパブリック クラスの名前が保持されます。
-keep public class com.myapp.customcomponents.**
次の構成は、指定されたパッケージとそのサブパッケージ内のすべてのパブリック/保護されたクラス/フィールド/メソッドの名前を保持します。
-keep public class com.myapp.customcomponents.** {
public protected *;
}
ProGuard 構成の下部に次の行を追加します。
-keep class com.facebook.** { *; }
それに応じてパッケージ名を置き換えます。ここでは、パッケージcom.facebookは ProGuard から除外されます。
Android Studio 4.0を使用して私にとってうまくいったのは次のとおりです。
-keepclassmembers class com.myapp.customcomponents.* {
<fields>;
<init>();
<methods>;
}
他の回答の二重アスタリスク (**) は機能しませんでした。R8でも上記の構成を試しましたが、正常に動作します。