forked from AoEiuV020/PaNovel
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproguard-rules.pro
122 lines (102 loc) · 4.12 KB
/
proguard-rules.pro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# 枚举都不混淆,
-keep enum ** { *; }
# 导入导出的选项枚举不混淆,要作为文件名,
-keepclassmembers class cc.aoeiuv020.panovel.export.ExportOption { <fields>; }
# 本地持久化用到的实体类不能混淆,类名,方法名,变量名,都不能混淆,
-keep class cc.aoeiuv020.panovel.data.entity.** { *; }
# 和服务器端交互用的pojo需要gson序列化,不混淆,
-keepclassmembers class cc.aoeiuv020.panovel.server.dal.model.** { <fields>; }
-keepclassmembers class cc.aoeiuv020.panovel.server.ServerAddress { <fields>; }
# 需要用gson序列化的枚举不混淆,
## NovelChapter有在缓存库中保存章节列表,是直接gson序列化的,混淆的话,改了混淆结果会读出空,
-keepclassmembers class cc.aoeiuv020.panovel.api.NovelChapter { <fields>; }
-keepclassmembers class cc.aoeiuv020.reader.AnimationMode { <fields>; }
-keepclassmembers class cc.aoeiuv020.panovel.share.Expiration { <fields>; }
#jsoup https://stackoverflow.com/a/32169975/5615186
-keeppackagenames org.jsoup.nodes
#slf4j https://github.com/getsentry/sentry-java/issues/373
-dontwarn org.slf4j.**
# OkHttp https://github.com/krschultz/android-proguard-snippets/blob/master/libraries/proguard-square-okhttp3.pro
-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
#glide https://github.com/bumptech/glide#proguard
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# for DexGuard only
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
#bugly https://bugly.qq.com/docs/user-guide/instruction-manual-android/?v=20170912151050#_5
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
# firebase
-keepattributes Signature
-keepattributes *Annotation*
# admob https://github.com/googleads/googleads-mobile-android-examples/blob/master/java/admob/BannerExample/app/proguard-rules.pro
# For Google Play Services
-keep public class com.google.android.gms.ads.**{
public *;
}
# For old ads classes
-keep public class com.google.ads.**{
public *;
}
# Other required classes for Google Play Services
# Read more at http://developer.android.com/google/play-services/setup.html
-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;
}
# jpush, https://docs.jiguang.cn/jpush/client/Android/android_guide/
-dontoptimize
-dontpreverify
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
-keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }
# epublib, https://stackoverflow.com/a/33286911/5615186
-dontwarn org.kobjects.**
-dontwarn org.ksoap2.**
-dontwarn org.kxml2.**
-dontwarn org.xmlpull.v1.**
-keep class org.kobjects.** { *; }
-keep class org.ksoap2.** { *; }
-keep class org.kxml2.** { *; }
-keep class org.xmlpull.** { *; }
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontoptimize
-dontpreverify
# rhino, https://github.com/mozilla/rhino/issues/388
-keep class org.mozilla.** { *; }
#未混淆的类和成员
-printseeds build/seeds.txt
#列出从 apk 中删除的代码
-printusage build/unused.txt
#混淆前后的映射
-printmapping build/mapping.txt
# 保留行号,区分混淆后的同名方法,虽然会被inline影响,
-keepattributes SourceFile,LineNumberTable
-renamesourcefileattribute ''
# 不同类的成员用不同名字,同一个类还是会用相同名字,
-useuniqueclassmembernames
#各种问题通通无视
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
-ignorewarnings