你知道,Fragment的所有子类都必须包含一个公共空构造函数,但是当使用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
}
答案 0 :(得分:31)
这应该有效:
-keepclassmembers public class * extends android.support.v4.app.Fragment {
public <init>(...);
我相信即使这样也应该足够了:
-keep public class * extends android.support.v4.app.Fragment
因为保持类将使proguard保持默认构造函数。