Using Proguard

Add the following rules to the proguard-rules.pro file:

-keepattributes Exceptions, InnerClasses, Signature, Deprecated, SourceFile, LineNumberTable, *Annotation*, EnclosingMethod
-dontwarn android.webkit.**
#adcel
-keep class co.adcel.** {*;}
-dontwarn co.adcel.**
#adcolony
-keepclassmembers class * {
  @android.webkit.JavascriptInterface <methods>;
}
-keep class com.immersion.** {*;}
-dontwarn com.immersion.**
-dontnote com.immersion.**
-keep class com.jirbo.** {*;}
-dontwarn com.jirbo.**
-dontnote com.jirbo.**
-keep class com.adcolony.** {*;}
-dontwarn com.adcolony.**
-keepclassmembers class com.adcolony.sdk.ADCNative** {
  *;
}
#applovin
-keep class com.applovin.** {*;}
-dontwarn com.applovin.**
#startapp
-keep class com.startapp.** {
    *;
}

-keepattributes Exceptions, InnerClasses, Signature, Deprecated, SourceFile, LineNumberTable, *Annotation*, EnclosingMethod
-dontwarn android.webkit.JavascriptInterface
-dontwarn com.startapp.**
#mytarget
-keep class com.my.target.** {*;}
-dontwarn com.my.target.**
#mopub
-keep class com.mopub.** {*;}
-dontwarn com.mopub.**
#smaato
-keep class com.smaato.soma.** {*;}
-dontwarn com.smaato.soma.**
-dontwarn org.fmod.**
-keep class org.fmod.** { *; }
-keepclassmembers  class com.tms.rarus.videoserver.* { *; }
-keepclassmembers  class com.unity3d.player.** { *; }
-keepclassmembers  class org.fmod.** { *; }
#unity3d
-keep class com.applifier.** {*;}
-keep class com.unity3d.** {*;}
-dontwarn com.unity3d.**
#yandex
-keep class com.yandex.metrica.** { *; }
-dontwarn com.yandex.metrica.**
-keep class com.yandex.mobile.ads.** { *; }
-dontwarn com.yandex.mobile.ads.**
#amazon
-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
#vungle
-dontwarn com.vungle.**
-dontnote com.vungle.**
-keep class com.vungle.** { *; }
-keep class javax.inject.*
# ignore eventbus warnings
-dontwarn de.greenrobot.event.util.**
# ignore rx warnings
-dontwarn rx.internal.util.unsafe.**
# keep some important rx stuff - https://github.com/ReactiveX/RxJava/issues/3097
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
  long producerIndex;
  long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
  rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
  rx.internal.util.atomic.LinkedQueueNode consumerNode;
}
-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(); }
#supersonic
-keepclassmembers class com.ironsource.sdk.controller.IronSourceWebView$JSInterface {
  public *;
}
-keepclassmembers class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}
-keep public class com.google.android.gms.ads.** {
 public *;
}
-keep class com.ironsource.adapters.** { *;
}

#tapjoy
-keep class com.tapjoy.** { *; }
-keepattributes JavascriptInterface
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.google.android.gms.ads.identifier.** { *; }
-dontwarn com.tapjoy.internal.**
#/tapjoy

-keep class **.R$*

-dontwarn org.apache.**
-dontwarn com.google.**
-dontwarn android.**
copy