你知道,Fragment 的所有子类都必须包含一个公共空构造函数,但是当使用 proguard 时,这些构造函数将被删除。我已经指定了以下命令,但空构造函数仍然被删除。谁能帮我保留片段的空构造函数?谢谢。
-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
}
这应该有效:
-keepclassmembers public class * extends android.support.v4.app.Fragment {
public <init>(...);
我相信即使这样也应该足够了:
-keep public class * extends android.support.v4.app.Fragment
因为保留类将迫使 ProGuard 保留默认构造函数。