3

ありました

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

私のプロガード設定で。Actionbarsherlockの連中が提案したように(http://actionbarsherlock.com/faq.htmlを参照)。しかし、追加した後にのみ

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

SherlockFragmentを拡張したクラスが保持されていたので、Fragmentsを使用することができました。

なんで?

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 に答える