1 # This is a configuration file for ProGuard. 2 # http://proguard.sourceforge.net/index.html#manual/usage.html 3 4 # Keep all Fragments in this package, which are used by reflection. 5 -keep public class com.android.settings.** extends android.app.Fragment 6 7 # We want to keep methods in Activity that could be used in the XML attribute onClick. 8 -keepclassmembers class * extends android.app.Activity { 9 public void *(android.view.View); 10 public void *(android.view.MenuItem); 11 } 12 13 # Keep setters in Views so that animations can still work. 14 -keep public class * extends android.view.View { 15 public <init>(android.content.Context); 16 public <init>(android.content.Context, android.util.AttributeSet); 17 public <init>(android.content.Context, android.util.AttributeSet, int); 18 19 void set*(***); 20 *** get*(); 21 } 22 23 # Keep classes that may be inflated from XML. 24 -keepclasseswithmembers class * { 25 public <init>(android.content.Context, android.util.AttributeSet); 26 } 27 -keepclasseswithmembers class * { 28 public <init>(android.content.Context, android.util.AttributeSet, int); 29 } 30 31 # Keep annotated classes or class members. 32 -keep @android.support.annotation.Keep class * 33 -keepclassmembers class * { 34 @android.support.annotation.Keep *; 35 } 36 37 # Keep specific fields used via reflection. 38 -keepclassmembers class * { 39 public static ** SEARCH_INDEX_DATA_PROVIDER; 40 public static ** SUMMARY_PROVIDER_FACTORY; 41 } 42