# This is a configuration file for ProGuard. # http://proguard.sourceforge.net/index.html#manual/usage.html -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -verbose # Optimization is turned off by default. Dex does not like code run # through the ProGuard optimize and preverify steps (and performs some # of these optimizations on its own). -dontoptimize -dontpreverify # Note that if you want to enable optimization, you cannot just # include optimization flags in your own project configuration file; # instead you will need to point to the # "proguard-android-optimize.txt" file instead of this one from your # project.properties file. -keepattributes *Annotation*, EnclosingMethod # 제너릭 타입 정보 보존 -keepattributes Signature -keep public class com.google.vending.licensing.ILicensingService -keep public class com.android.vending.licensing.ILicensingService # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native -keepclasseswithmembernames class * { native ; } # keep setters in Views so that animations can still work. # see http://proguard.sourceforge.net/manual/examples.html#beans -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } # We want to keep methods in Activity that could be used in the XML attribute onClick -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclassmembers class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator CREATOR; } -keepclassmembers class **.R$* { public static ; } # The support library contains references to newer platform versions. # Don't warn about those in case this app is linking against an older # platform version. We know about them, and they are safe. -dontwarn android.support.** # Understand the @Keep support annotation. -keep class android.support.annotation.Keep -keep @android.support.annotation.Keep class * {*;} -keepclasseswithmembers class * { @android.support.annotation.Keep ; } -keepclasseswithmembers class * { @android.support.annotation.Keep ; } -keepclasseswithmembers class * { @android.support.annotation.Keep (...); } -dontwarn com.squareup.picasso.** # Jackson이 참조하는 다른 라이브러리(joda-time 등) 없다는 경고 제거 -dontwarn org.codehaus.jackson.** -keep class com.android.volley.** -keep class com.koushikdutta.async.** -keep class com.google.android.** -keep class com.tsengvn.typekit.** -keep class com.squareup.picasso.** -keep class jp.wasabeef.recyclerview.** -keep class org.codehaus.jackson.** -keep class javax.jmdns.** # java.lang.NoSuchFieldError: PUBLIC_ONLY 에러 제거 -keepnames class org.codehaus.jackson.** { *; } # Jackson에 의해 JSON데이터와 매핑(바인딩)되는 모델(POJO) 클래스 보존 #-keep public class my.app.model.** { *; } # 모델 클래스외에 getter/setter 보존이 필요한 경우 #-keep public class my.app.** { # public void set*(***); # public *** get(); #}