#configuration -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* #keep common classes -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider #keep all classes that might be used in XML layouts -keep public class * extends android.view.View { public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); public void set*(...); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet, int); } #keep callback methods (onClick, onOption...) -keepclassmembers class * extends android.content.Context { public void *(android.view.View); public void *(android.view.MenuItem); } #keep parcelable constructors -keepclassmembers class * implements android.os.Parcelable { static android.os.Parcelable$Creator CREATOR; } #keep all resource identifiers -keep class **.R$* -keepclassmembers class **.R$* { public static ; } #keep all enumerations -keep public enum * { **[] $VALUES; public *; } #keep preference's classes -keep public class * extends android.preference.PreferenceFragment { public (...); } -keep public class * extends android.preference.Preference { public (...); } #keep effects and transitions classes public -keep public class org.cyanogenmod.wallpapers.photophase.effects.* { public (...); public java.lang.String getName(); public void apply(...); public void setParameter(...); public void setUpdateListener(...); public void release(...); } -keep public class org.cyanogenmod.wallpapers.photophase.transitions.* { public (...); }