Ответ 1
Я решил это с помощью:
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
Я использую библиотеку поддержки 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.
Я решил это с помощью:
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
Я использую это, несколько похожее на версию версии v4:
-keep class android.support.v7.internal.** { *; }
-keep interface android.support.v7.internal.** { *; }
Я получил это от 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);
}
Надеюсь, это сработает.