proguard-rules.pro 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. # This is a configuration file for ProGuard.
  2. # http://proguard.sourceforge.net/index.html#manual/usage.html
  3. -dontusemixedcaseclassnames
  4. -dontskipnonpubliclibraryclasses
  5. -verbose
  6. # Optimization is turned off by default. Dex does not like code run
  7. # through the ProGuard optimize and preverify steps (and performs some
  8. # of these optimizations on its own).
  9. -dontoptimize
  10. -dontpreverify
  11. # Note that if you want to enable optimization, you cannot just
  12. # include optimization flags in your own project configuration file;
  13. # instead you will need to point to the
  14. # "proguard-android-optimize.txt" file instead of this one from your
  15. # project.properties file.
  16. -keepattributes *Annotation*, EnclosingMethod
  17. # 제너릭 타입 정보 보존
  18. -keepattributes Signature
  19. -keep public class com.google.vending.licensing.ILicensingService
  20. -keep public class com.android.vending.licensing.ILicensingService
  21. # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
  22. -keepclasseswithmembernames class * {
  23. native <methods>;
  24. }
  25. # keep setters in Views so that animations can still work.
  26. # see http://proguard.sourceforge.net/manual/examples.html#beans
  27. -keepclassmembers public class * extends android.view.View {
  28. void set*(***);
  29. *** get*();
  30. }
  31. # We want to keep methods in Activity that could be used in the XML attribute onClick
  32. -keepclassmembers class * extends android.app.Activity {
  33. public void *(android.view.View);
  34. }
  35. # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
  36. -keepclassmembers enum * {
  37. public static **[] values();
  38. public static ** valueOf(java.lang.String);
  39. }
  40. -keepclassmembers class * implements android.os.Parcelable {
  41. public static final android.os.Parcelable$Creator CREATOR;
  42. }
  43. -keepclassmembers class **.R$* {
  44. public static <fields>;
  45. }
  46. # The support library contains references to newer platform versions.
  47. # Don't warn about those in case this app is linking against an older
  48. # platform version. We know about them, and they are safe.
  49. -dontwarn android.support.**
  50. # Understand the @Keep support annotation.
  51. -keep class android.support.annotation.Keep
  52. -keep @android.support.annotation.Keep class * {*;}
  53. -keepclasseswithmembers class * {
  54. @android.support.annotation.Keep <methods>;
  55. }
  56. -keepclasseswithmembers class * {
  57. @android.support.annotation.Keep <fields>;
  58. }
  59. -keepclasseswithmembers class * {
  60. @android.support.annotation.Keep <init>(...);
  61. }
  62. -keep class android.support.v4.app.** { *; }
  63. -keep interface android.support.v4.app.** { *; }
  64. -keep class android.support.v7.app.** { *; }
  65. -keep interface android.support.v7.app.** { *; }
  66. -keepattributes SourceFile, LineNumberTable
  67. -dontwarn com.squareup.picasso.**
  68. # Jackson이 참조하는 다른 라이브러리(joda-time 등) 없다는 경고 제거
  69. -dontwarn org.codehaus.jackson.**
  70. -keep class com.android.volley.** { *; }
  71. -keep class com.koushikdutta.async.** { *; }
  72. -keep class com.google.android.** { *; }
  73. -keep class com.tsengvn.typekit.** { *; }
  74. -keep class com.squareup.picasso.** { *; }
  75. -keep class jp.wasabeef.recyclerview.** { *; }
  76. -keep class org.codehaus.jackson.** { *; }
  77. -keep class javax.jmdns.** { *; }
  78. -keep class com.nable.** { *; }
  79. -keep class com.ntels.onecable.common.util.** { *; }
  80. #-keepclassmembers class com.nable.nme.** { *; }
  81. #
  82. #-keepnames class com.nable.nme.** { *; }
  83. # java.lang.NoSuchFieldError: PUBLIC_ONLY 에러 제거
  84. -keepnames class org.codehaus.jackson.** { *; }
  85. # Jackson에 의해 JSON데이터와 매핑(바인딩)되는 모델(POJO) 클래스 보존
  86. #-keep public class my.app.model.** { *; }
  87. # 모델 클래스외에 getter/setter 보존이 필요한 경우
  88. #-keep public class my.app.** {
  89. # public void set*(***);
  90. # public *** get();
  91. #}