3

-keep class com.actionbarsherlock.** { *; }

在我的 proguard 配置中。正如 Actionbarsherlock 家伙所提议的(请参阅http://actionbarsherlock.com/faq.html)。但只有在添加之后

-keep public class * extends com.actionbarsherlock.app.SherlockFragment

扩展 SherlockFragment 的类被保留,所以我可以使用这些片段。

为什么?

4

1 回答 1

5

假设您有以下片段声明,用于 xml 布局:

public class MyFragment extends SherlockFragment {
    …
}

MyFragment 类不在com.actionbarsherlock.*包中,所以 ProGuard 会混淆类名。为了保留可能在 xml 布局中使用的类,请添加以下参数:

# keep all classes that might be used in XML layouts
-keep public class * extends android.view.View
-keep public class * extends android.view.ViewGroup
-keep public class * extends android.support.v4.app.Fragment
于 2012-08-03T20:21:20.633 回答