32

ご存じのように、Fragment のすべてのサブクラスには public の空のコンストラクターが含まれている必要がありますが、proguard を使用する場合、これらのコンストラクターは削除されます。以下のコマンドを指定しましたが、空のコンストラクターは引き続き削除されます。Fragmentの空のコンストラクターを保持するのを手伝ってくれる人はいますか? ありがとうございます。

-keepclassmembers public class * extends android.support.v4.app.Fragment { 
   public <init>(***);
   #public <init>(); //already tried this
}

-keepclassmembers public class * extends com.xxx.MyFragment { 
   public <init>(***);
   #public <init>(); //already tried this
}
4

1 に答える 1

51

これはうまくいくはずです:

-keepclassmembers public class * extends android.support.v4.app.Fragment { 
   public <init>(...);

これでも十分だと思います:

-keep public class * extends android.support.v4.app.Fragment

クラスを保持すると、プロガードはデフォルトのコンストラクターを保持する必要があるためです。

于 2012-11-30T06:39:35.063 に答える