Created
January 19, 2017 03:22
-
-
Save enginebai/63cc636a1c2c4829a5168181514a20cb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Add project specific ProGuard rules here. | |
| # By default, the flags in this file are appended to flags specified | |
| # You can edit the include path and order by changing the proguardFiles | |
| # directive in build.gradle. | |
| # | |
| # For more details, see | |
| # http://developer.android.com/guide/developing/tools/proguard.html | |
| # Add any project specific keep options here: | |
| # If your project uses WebView with JS, uncomment the following | |
| # and specify the fully qualified class name to the JavaScript interface | |
| # class: | |
| #-keepclassmembers class fqcn.of.javascript.interface.for.webview { | |
| # public *; | |
| #} | |
| # ButterKnife: ProGuard rules now ship inside of the library and are included automatically. | |
| # Android support v7 | |
| -keep public class android.support.v7.widget.** { *; } | |
| # Crouton | |
| -dontwarn de.keyboardsurfer.mobile.app.android.widget.crouton.** | |
| -keep class de.keyboardsurfer.mobile.app.android.widget.crouton.** { *;} | |
| # Glide | |
| -keep public class * implements com.bumptech.glide.module.GlideModule | |
| -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { | |
| **[] $VALUES; | |
| public *; | |
| } | |
| # SuperRecyclerView | |
| -dontwarn com.malinskiy.superrecyclerview.SwipeDismissRecyclerViewTouchListener* | |
| # OkHttp | |
| -dontwarn com.squareup.okhttp3.** | |
| -keep class com.squareup.okhttp3.** { *;} | |
| -dontwarn okio.* | |
| # RxJava & RxAndroid | |
| -keep class rx.schedulers.Schedulers { | |
| public static <methods>; | |
| } | |
| -keep class rx.schedulers.ImmediateScheduler { | |
| public <methods>; | |
| } | |
| -keep class rx.schedulers.TestScheduler { | |
| public <methods>; | |
| } | |
| -keep class rx.schedulers.Schedulers { | |
| public static ** test(); | |
| } | |
| -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { | |
| long producerIndex; | |
| long consumerIndex; | |
| } | |
| -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { | |
| long producerNode; | |
| long consumerNode; | |
| } | |
| ## Gson | |
| # Gson uses generic type information stored in a class file when working with fields. Proguard | |
| # removes such information by default, so configure it to keep all of it. | |
| -keepattributes Signature | |
| # For using GSON @Expose annotation | |
| -keepattributes *Annotation* | |
| # Gson specific classes | |
| -keep class sun.misc.Unsafe { *; } | |
| -keep class com.google.gson.stream.** { *; } | |
| # Application classes that will be serialized/deserialized over Gson | |
| -keep class com.google.gson.examples.android.model.** { *; } | |
| ##---------------End: proguard configuration for Gson | |
| # ------------- Google Play: Start ------------ | |
| -keep class * extends java.util.ListResourceBundle { | |
| protected java.lang.Object[][] getContents(); | |
| } | |
| # Keep SafeParcelable value, needed for reflection. This is required to support backwards | |
| # compatibility of some classes. | |
| -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { | |
| public static final *** NULL; | |
| } | |
| # Keep the names of classes/members we need for client functionality. | |
| -keepnames @com.google.android.gms.common.annotation.KeepName class * | |
| -keepclassmembernames class * { | |
| @com.google.android.gms.common.annotation.KeepName *; | |
| } | |
| # Needed for Parcelable/SafeParcelable Creators to not get stripped | |
| -keepnames class * implements android.os.Parcelable { | |
| public static final ** CREATOR; | |
| } | |
| -keep class com.android.vending.billing.** | |
| # --------------- Google Play: End ------------------- | |
| # Fabric | |
| -keepattributes *Annotation* | |
| -keepattributes SourceFile,LineNumberTable | |
| -keep public class * extends java.lang.Exception | |
| -keep class com.crashlytics.** { *; } | |
| -dontwarn com.crashlytics.** | |
| -printmapping build/outputs/mapping/prod/release/mapping.txt | |
| # Intercom | |
| -keep class io.intercom.android.** { *; } | |
| -dontwarn intercom.** | |
| -dontwarn io.intercom.** | |
| -dontwarn okio.** | |
| ## remove logs | |
| -assumenosideeffects class * extends android.util.Log { *; } | |
| # EventBus | |
| -keepattributes *Annotation* | |
| -keepclassmembers class ** { | |
| @org.greenrobot.eventbus.Subscribe <methods>; | |
| } | |
| -keep enum org.greenrobot.eventbus.ThreadMode { *; } | |
| # Firebase Android SDK 2.0.0+ | |
| -keep class com.firebase.** { *; } | |
| -keep class org.apache.** { *; } | |
| -keepnames class com.fasterxml.jackson.** { *; } | |
| -keepnames class javax.servlet.** { *; } | |
| -keepnames class org.ietf.jgss.** { *; } | |
| -dontwarn org.apache.** | |
| -dontwarn org.w3c.dom.** | |
| # Required to preserve the Flurry SDK | |
| -keep class com.flurry.** { *; } | |
| -dontwarn com.flurry.** | |
| -keepattributes *Annotation*,EnclosingMethod | |
| -keepclasseswithmembers class * { | |
| public <init>(android.content.Context, android.util.AttributeSet, int); | |
| } | |
| ### Retrofit ### | |
| # Platform calls Class.forName on types which do not exist on Android to determine platform. | |
| -dontnote retrofit2.Platform | |
| # Platform used when running on RoboVM on iOS. Will not be used at runtime. | |
| -dontnote retrofit2.Platform$IOS$MainThreadExecutor | |
| # Platform used when running on Java 8 VMs. Will not be used at runtime. | |
| -dontwarn retrofit2.Platform$Java8 | |
| -dontwarn retrofit2.** | |
| -keep class retrofit2.** { *; } | |
| -keepattributes Signature | |
| -keepattributes Exceptions | |
| -keepclasseswithmembers class * { | |
| @retrofit2.http.* <methods>; | |
| } | |
| -keepclasseswithmembers class com.machipopo.swag.api.** { *;} | |
| -dontwarn com.appsflyer.** |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment