web-dev-qa-db-ja.com

Android v7サポートライブラリアクションバーのProguard構成

私はv7サポートライブラリを使用して ActionBar をAndroid 2.xに表示します。十分に機能しますが、見つからないクラス/メソッドをいくつか修正する必要がありました。 Proguardを有効にした後のエラー。

どのクラスを保持する必要があるかに関するガイドラインはありますか?

これまでのところ私はこれらを持っています:

-keep public class Android.support.v7.internal.widget.ActionBarContainer
-keep class Android.support.v7.internal.widget.ActionBarView$HomeView
-keep public class Android.support.v7.internal.widget.ActionBarContextView

現在は機能しているようですが、XMLファイルで参照されている他の内部クラスと思われるクラスが原因で、ある段階でクラッシュしないと確信していません。

29
Mirko N.

私はそれを解決しました:

-dontwarn Android.support.v7.**
-keep class Android.support.v7.** { *; }
-keep interface Android.support.v7.** { *; }
52
Ivan Morgillo

私はこれを使用します。v4バージョンが提案したものと多少似ています。

-keep class Android.support.v7.internal.** { *; }
-keep interface Android.support.v7.internal.** { *; }
4
Gábor

私はそれを手に入れました Android Proguard Snippet

-keep public class Android.support.v7.widget.** { *; }
-keep public class Android.support.v7.internal.widget.** { *; }
-keep public class Android.support.v7.internal.view.menu.** { *; }

-keep public class * extends Android.support.v4.view.ActionProvider {
    public <init>(Android.content.Context);
}

それがうまくいくことを願っています。

0
Pratik Butani