|
|
@@ -38,7 +38,7 @@
|
|
|
-keep public class com.tencent.bugly.**{*;}
|
|
|
-keep class android.support.**{*;}
|
|
|
#友盟
|
|
|
--keep class com.umeng.commonsdk.** {*;}
|
|
|
+-keep class com.umeng.** {*;}
|
|
|
|
|
|
#指定代码的压缩级别
|
|
|
-optimizationpasses 5
|
|
|
@@ -102,8 +102,288 @@
|
|
|
#app
|
|
|
#忽略bean类
|
|
|
-keep class com.googlecode.protobuf.format.** { *; }
|
|
|
--keep class kfzs.duanduan.bean.** { *; }
|
|
|
--keep class kfzs.duanduan.proto.** { *; }
|
|
|
+-keep class com.kfzs.duanduan.bean.** { *; }
|
|
|
+-keep class com.kfzs.duanduan.proto.** { *; }
|
|
|
-keep class com.sheep.gamegroup.model.** { *; }
|
|
|
+-keep class com.sheep.jiuyan.samllsheep.service.DownloadService { *; }
|
|
|
|
|
|
+#datashare
|
|
|
+-keep class com.kfzs.duanduan.data.graph.** { *; }
|
|
|
+-keep class com.kfzs.duanduan.datashare.** { *; }
|
|
|
|
|
|
+#ari
|
|
|
+#-keep class com.arialyy.** { *; }
|
|
|
+-dontwarn com.arialyy.aria.**
|
|
|
+-keep class com.arialyy.aria.**{*;}
|
|
|
+-keep class **$$DownloadListenerProxy{ *; }
|
|
|
+-keep class **$$UploadListenerProxy{ *; }
|
|
|
+-keep class **$$DownloadGroupListenerProxy{ *; }
|
|
|
+-keepclasseswithmembernames class * {
|
|
|
+ @Download.* <methods>;
|
|
|
+ @Upload.* <methods>;
|
|
|
+ @DownloadGroup.* <methods>;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+-keep class org.** { *; }
|
|
|
+-keep class sun.** { *; }
|
|
|
+-keep class net.** { *; }
|
|
|
+-keep class com.fasterxml.** { *; }
|
|
|
+-keep class javax.** { *; }
|
|
|
+-keep class rx.** { *; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+# Retrofit 2.X
|
|
|
+## https://square.github.io/retrofit/ ##
|
|
|
+
|
|
|
+-dontwarn retrofit2.**
|
|
|
+-keep class retrofit2.** { *; }
|
|
|
+-keepattributes Signature
|
|
|
+-keepattributes Exceptions
|
|
|
+
|
|
|
+-keepclasseswithmembers class * {
|
|
|
+ @retrofit2.http.* <methods>;
|
|
|
+}
|
|
|
+
|
|
|
+# Retrofit 1.X
|
|
|
+
|
|
|
+-keep class com.squareup.okhttp.** { *; }
|
|
|
+-keep class retrofit.** { *; }
|
|
|
+-keep interface com.squareup.okhttp.** { *; }
|
|
|
+
|
|
|
+-dontwarn com.squareup.okhttp.**
|
|
|
+-dontwarn okio.**
|
|
|
+-dontwarn retrofit.**
|
|
|
+-dontwarn rx.**
|
|
|
+
|
|
|
+-keepclasseswithmembers class * {
|
|
|
+ @retrofit.http.* <methods>;
|
|
|
+}
|
|
|
+
|
|
|
+# If in your rest service interface you use methods with Callback argument.
|
|
|
+-keepattributes Exceptions
|
|
|
+
|
|
|
+# If your rest service methods throw custom exceptions, because you've defined an ErrorHandler.
|
|
|
+-keepattributes Signature
|
|
|
+
|
|
|
+# Also you must note that if you are using GSON for conversion from JSON to POJO representation, you must ignore those POJO classes from being obfuscated.
|
|
|
+# Here include the POJO's that have you have created for mapping JSON response to POJO for example.
|
|
|
+
|
|
|
+## Square Otto specific rules ##
|
|
|
+## https://square.github.io/otto/ ##
|
|
|
+
|
|
|
+-keepattributes *Annotation*
|
|
|
+-keepclassmembers class ** {
|
|
|
+ @com.squareup.otto.Subscribe public *;
|
|
|
+ @com.squareup.otto.Produce public *;
|
|
|
+}
|
|
|
+
|
|
|
+## Square Picasso specific rules ##
|
|
|
+## https://square.github.io/picasso/ ##
|
|
|
+
|
|
|
+-dontwarn com.squareup.okhttp.**
|
|
|
+
|
|
|
+# OkHttp
|
|
|
+-keepattributes Signature
|
|
|
+-keepattributes *Annotation*
|
|
|
+-keep class okhttp3.** { *; }
|
|
|
+-keep interface okhttp3.** { *; }
|
|
|
+-dontwarn okhttp3.**
|
|
|
+
|
|
|
+# Dagger ProGuard rules.
|
|
|
+# https://github.com/square/dagger
|
|
|
+
|
|
|
+-dontwarn dagger.internal.codegen.**
|
|
|
+-keepclassmembers,allowobfuscation class * {
|
|
|
+ @javax.inject.* *;
|
|
|
+ @dagger.* *;
|
|
|
+ <init>();
|
|
|
+}
|
|
|
+
|
|
|
+-keep class dagger.* { *; }
|
|
|
+-keep class javax.inject.* { *; }
|
|
|
+-keep class * extends dagger.internal.Binding
|
|
|
+-keep class * extends dagger.internal.ModuleAdapter
|
|
|
+-keep class * extends dagger.internal.StaticInjection
|
|
|
+
|
|
|
+# RxJava 0.21
|
|
|
+
|
|
|
+-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();
|
|
|
+}
|
|
|
+
|
|
|
+# Configuration for Guava 18.0
|
|
|
+#
|
|
|
+# disagrees with instructions provided by Guava project: https://code.google.com/p/guava-libraries/wiki/UsingProGuardWithGuava
|
|
|
+
|
|
|
+-keep class com.google.common.io.Resources {
|
|
|
+ public static <methods>;
|
|
|
+}
|
|
|
+-keep class com.google.common.collect.Lists {
|
|
|
+ public static ** reverse(**);
|
|
|
+}
|
|
|
+-keep class com.google.common.base.Charsets {
|
|
|
+ public static <fields>;
|
|
|
+}
|
|
|
+
|
|
|
+-keep class com.google.common.base.Joiner {
|
|
|
+ public static com.google.common.base.Joiner on(java.lang.String);
|
|
|
+ public ** join(...);
|
|
|
+}
|
|
|
+
|
|
|
+-keep class com.google.common.collect.MapMakerInternalMap$ReferenceEntry
|
|
|
+-keep class com.google.common.cache.LocalCache$ReferenceEntry
|
|
|
+
|
|
|
+# http://stackoverflow.com/questions/9120338/proguard-configuration-for-guava-with-obfuscation-and-optimization
|
|
|
+-dontwarn javax.annotation.**
|
|
|
+-dontwarn javax.inject.**
|
|
|
+-dontwarn sun.misc.Unsafe
|
|
|
+
|
|
|
+# Guava 19.0
|
|
|
+-dontwarn java.lang.ClassValue
|
|
|
+-dontwarn com.google.j2objc.annotations.Weak
|
|
|
+-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
|
|
+
|
|
|
+## GSON 2.2.4 specific rules ##
|
|
|
+
|
|
|
+# 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*
|
|
|
+
|
|
|
+-keepattributes EnclosingMethod
|
|
|
+
|
|
|
+# Gson specific classes
|
|
|
+-keep class sun.misc.Unsafe { *; }
|
|
|
+-keep class com.google.gson.stream.** { *; }
|
|
|
+
|
|
|
+# GreenDao rules
|
|
|
+# Source: http://greendao-orm.com/documentation/technical-faq
|
|
|
+#
|
|
|
+-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
|
|
|
+ public static java.lang.String TABLENAME;
|
|
|
+}
|
|
|
+-keep class **$Properties
|
|
|
+
|
|
|
+# Glide specific rules #
|
|
|
+# https://github.com/bumptech/glide
|
|
|
+
|
|
|
+-keep public class * implements com.bumptech.glide.module.GlideModule
|
|
|
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
|
|
|
+ **[] $VALUES;
|
|
|
+ public *;
|
|
|
+}
|
|
|
+
|
|
|
+# Fresco v0.8.1 ProGuard rules.
|
|
|
+# https://github.com/facebook/fresco
|
|
|
+
|
|
|
+-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
|
|
|
+
|
|
|
+# Do not strip any method/class that is annotated with @DoNotStrip
|
|
|
+-keep @com.facebook.common.internal.DoNotStrip class *
|
|
|
+-keepclassmembers class * {
|
|
|
+ @com.facebook.common.internal.DoNotStrip *;
|
|
|
+}
|
|
|
+
|
|
|
+# Keep native methods
|
|
|
+-keepclassmembers class * {
|
|
|
+ native <methods>;
|
|
|
+}
|
|
|
+
|
|
|
+-dontwarn okio.**
|
|
|
+-dontwarn javax.annotation.**
|
|
|
+-dontwarn com.android.volley.toolbox.**
|
|
|
+
|
|
|
+## New rules for EventBus 3.0.x ##
|
|
|
+# http://greenrobot.org/eventbus/documentation/proguard/
|
|
|
+
|
|
|
+-keepattributes *Annotation*
|
|
|
+-keepclassmembers class ** {
|
|
|
+ @org.greenrobot.eventbus.Subscribe <methods>;
|
|
|
+}
|
|
|
+-keep enum org.greenrobot.eventbus.ThreadMode { *; }
|
|
|
+
|
|
|
+# Only required if you use AsyncExecutor
|
|
|
+-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
|
|
|
+ <init>(java.lang.Throwable);
|
|
|
+}
|
|
|
+
|
|
|
+#Easy-Adapter v1.5.0
|
|
|
+
|
|
|
+-keepattributes *Annotation*
|
|
|
+-keepclassmembers class * extends uk.co.ribot.easyadapter.ItemViewHolder {
|
|
|
+ public <init>(...);
|
|
|
+ }
|
|
|
+
|
|
|
+# Crashlytics 2.+
|
|
|
+
|
|
|
+-keep class com.crashlytics.** { *; }
|
|
|
+-keep class com.crashlytics.android.**
|
|
|
+-keepattributes SourceFile, LineNumberTable, *Annotation*
|
|
|
+
|
|
|
+# If you are using custom exceptions, add this line so that custom exception types are skipped during obfuscation:
|
|
|
+-keep public class * extends java.lang.Exception
|
|
|
+
|
|
|
+# For Fabric to properly de-
|
|
|
+
|
|
|
+# ButterKnife 7
|
|
|
+
|
|
|
+-keep class butterknife.** { *; }
|
|
|
+-dontwarn butterknife.internal.**
|
|
|
+-keep class **$$ViewBinder { *; }
|
|
|
+
|
|
|
+-keepclasseswithmembernames class * {
|
|
|
+ @butterknife.* <fields>;
|
|
|
+}
|
|
|
+
|
|
|
+-keepclasseswithmembernames class * {
|
|
|
+ @butterknife.* <methods>;
|
|
|
+}
|
|
|
+
|
|
|
+# fastjson proguard rules
|
|
|
+# https://github.com/alibaba/fastjson
|
|
|
+
|
|
|
+-dontwarn com.alibaba.fastjson.**
|
|
|
+-keepattributes Signature
|
|
|
+-keepattributes *Annotation*
|
|
|
+
|
|
|
+## ActionBarSherlock 4.4.0 specific rules ##
|
|
|
+
|
|
|
+-keep class android.support.v4.app.** { *; }
|
|
|
+-keep interface android.support.v4.app.** { *; }
|
|
|
+-keep class com.actionbarsherlock.** { *; }
|
|
|
+-keep interface com.actionbarsherlock.** { *; }
|
|
|
+-keepattributes *Annotation*
|
|
|
+
|
|
|
+## hack for Actionbarsherlock 4.4.0, see https://github.com/JakeWharton/ActionBarSherlock/issues/1001 ##
|
|
|
+-dontwarn com.actionbarsherlock.internal.**
|
|
|
+
|
|
|
+## SVG Android ##
|
|
|
+#https://github.com/pents90/svg-android
|
|
|
+-keep class com.larvalabs.svgandroid.** {*;}
|
|
|
+-keep class com.larvalabs.svgandroid.*$* {*;}
|
|
|
+
|
|
|
+-keep public class android.support.v7.widget.** { *; }
|
|
|
+-keep public class android.support.v7.internal.widget.** { *; }
|
|
|
+-keep public class android.support.v7.internal.view.menu.** { *; }
|
|
|
+
|
|
|
+-keep public class * extends android.support.v4.view.ActionProvider {
|
|
|
+ public <init>(android.content.Context);
|
|
|
+}
|
|
|
+
|
|
|
+-dontwarn android.support.design.**
|
|
|
+-keep class android.support.design.** { *; }
|
|
|
+-keep interface android.support.design.** { *; }
|
|
|
+-keep public class android.support.design.R$* { *; }
|