ProGuard は、ここで「保持」構文を定義します。
[@annotationtype] [[!]public|final|abstract|@ ...] [!]interface|class|enum classname
[extends|implements [@annotationtype] classname]
[{
[@annotationtype] [[!]public|private|protected|static|volatile|transient ...] <fields> |
(fieldtype fieldname);
[@annotationtype] [[!]public|private|protected|static|synchronized|native|abstract|strictfp ...] <methods> |
<init>(argumenttype,...) |
classname(argumenttype,...) |
(returntype methodname(argumenttype,...));
[@annotationtype] [[!]public|private|protected|static ... ] *;
...
}]
一般化された修飾子と型を使用し続けることは可能ですか?
たとえば-keep * * my.package.MySomething { *; }
、1 番目*
はこの部分のすべてを意味[!]public|final|abstract|@ ...]
し
、2 番目*
はこの部分のすべてを意味します: [!]interface|class|enum
。
もう少し詳しく言うと、私は ProGuard 引数を動的に生成しようとしていますが、それ以外のものかどうかはわかりませmy.package.MySomething
ん。abstract class
public enum
これを達成するのに役立つ方法、ProGuardのオプションはありますか?