私はいくつかのパブリックメソッドを持っているjavaクラスを持っています。 (これは既に行われています) 静的定数を含むInnerClassもあります。 クラスの構造は次のとおりです。Proguardを使用してInnerClassの特定のフィールドを保持する方法
public class MyClass {
public static MyInnerClass {
public static final String MY_CONSTANT_1="constant 1";
public static final String MY_CONSTANT_2="constant 2";
public static final String MY_CONSTANT_3="constant 3";
public static final String MY_CONSTANT_4="constant 4";
public static final int MY_INT_1 = 1;
public static final int MY_INT_2 = 2;
}
public void method1() { }
public void method2() { }
public void method3() { }
public void method4() { }
}
私は上記のクラスを推測したいと思います。私はいくつかの部分を保持し、残りの部分を削除したい。 私は方法を保ちたいmethod1
& method2
。私は内部クラスを維持したいMyInnerClass
。 MyInnerClass
のフィールドは、MY_CONSTANT_1
、MY_CONSTANT_2
、&、MY_INT_1
のようにしたいと考えています。残りはすべて削除する必要があります。
-keep public class com.mypackage.MyClass**
-keepclassmembers class com.mypackage.MyClass** {
public *** method1(...);
public *** method2(...);
}
-keepclassmembers class com.mypackage.MyClass.MyInnerClass** {
public static final java.lang.String MY_CONSTANT_1;
public static final java.lang.String MY_CONSTANT_2;
public static final int MY_INT_1;
}
これはトップクラスに正しく適用されますが、私のMyInnerClassは、私が検索 空であるが、それらのほとんどが言うどちらかそれを完全に削除するか、すべてを維持するために -
私ProGuardのは以下の通りです。
皆さんにさらなる情報が必要な場合は、お知らせください。あなたはクラスとその内部クラス間の区切り文字として「$」を使用する必要が
を。これが機能する – Arunkumar
ことをしようとします。..そのとてもばかげていました。ありがとう – Arunkumar