proguard-rules.pro
10.6 KB
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# 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 *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-verbose
#指定压缩级别
-optimizationpasses 5
#混淆时应用侵入式重载
-overloadaggressively
#使用字符串"SourceFile"来替代真正的类
-renamesourcefileattribute SourceFile
#抛出异常时保留代码行号
-keepattributes SourceFile,LineNumberTable
# 混淆时所采用的算法
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#包名不混合大小写
-dontusemixedcaseclassnames
#把混淆类中的方法名也混淆了
-useuniqueclassmembernames
#优化时允许访问并修改有修饰符的类和类的成员
-allowaccessmodification
#将混淆过得类移到根目录下
-repackageclasses
-keepclasseswithmembernames class * {
native <methods>;
}
#保留资源文件
-keepclassmembers class **.R$* {
public static <fields>;
}
# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontwarn android.support.**
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-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;
}
# 保留bolts下的所有类及其内部类
-keep class bolts.** {*;}
-dontwarn bolts.**
# 保留fastjson下的所有类及其内部类
-keep class com.alibaba.fastjson.** {*;}
-dontwarn com.alibaba.fastjson.**
# 保留com.android.vending.billing下的所有类及其内部类
-keep class com.android.vending.billing.** {*;}
-dontwarn com.android.vending.billing.**
# 保留applovin下的所有类及其内部类
-keep class com.applovin.** {*;}
-dontwarn com.applovin.**
# 保留appsflyer下的所有类及其内部类
-keep class com.appsflyer.** {*;}
-dontwarn com.appsflyer.**
# 保留avos下的所有类及其内部类
-keep class com.avos.** {*;}
-dontwarn com.avos.**
# 保留avoscloud下的所有类及其内部类
-keep class com.avoscloud.** {*;}
-dontwarn com.avoscloud.**
# 保留avoscloud_gcm下的所有类及其内部类
-keep class com.avoscloud_gcm.** {*;}
-dontwarn com.avoscloud_gcm.**
-keep class com.mopub.** {*;}
-dontwarn com.mopub.**
-keep class org.xmlpull.** {*;}
-dontwarn org.xmlpull.**
# 保留facebook下的所有类及其内部类
-keep class com.facebook.** {*;}
-dontwarn com.facebook.**
# 保留flurry下的所有类及其内部类
-keep class com.flurry.** {*;}
-dontwarn com.flurry.**
# 保留google下的所有类及其内部类
-keep class com.google.** {*;}
-dontwarn com.google.**
# 保留picasso下的所有类及其内部类
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.picasso.**
# 保留bugly下的所有类及其内部类
-keep class com.tencent.bugly.** {*;}
-dontwarn com.tencent.bugly.**
# 保留unity3d下的所有类及其内部类
-keep class com.unity3d.ads.** {*;}
-dontwarn com.unity3d.ads.**
# 保留httpclient下的所有类及其内部类
-keep class cz.msebera.** {*;}
-dontwarn cz.msebera.**
# 保留async http下的所有类及其内部类
-keep class com.loopj.android.http.** {*;}
-dontwarn com.loopj.android.http.**
-keep class android.net.**{*;}
-dontwarn android.net.**
-keep class android.util.**{*;}
-dontwarn android.util.**
-keep class org.apache.http.** {*;}
-dontwarn org.apache.http.**
-keep class okhttp3.** {*;}
-dontwarn okhttp3.**
-keep class okio.** {*;}
-dontwarn okio.**
-keep class org.cocos2dx.** {*;}
-dontwarn org.cocos2dx.**
-keep class com.millennialmedia.** {*;}
-dontwarn com.millennialmedia.**
-keep class com.liulishuo.filedownloader.** {*;}
-dontwarn com.liulishuo.filedownloader.**
-keep class com.github.siyamed.** {*;}
-dontwarn com.github.siyamed.**
-keep class com.custom.** {*;}
-dontwarn com.custom.**
-keep class com.vungle.publisher.** {*;}
-dontwarn com.vungle.publisher.**
-keep class dagger.** {*;}
-dontwarn dagger.**
-keep class de.greenrobot.event.** {*;}
-dontwarn de.greenrobot.event.**
-keep class javax.inject.** {*;}
-dontwarn javax.inject.**
-keep class rx.** {*;}
-dontwarn rx.**
-keep class rx.adjust.** {*;}
-dontwarn rx.adjust.**
-keep class dalvik.system.** {*;}
-dontwarn dalvik.system.**
-keep class android.os.** {*;}
-dontwarn android.os.**
-keep class android.content.** {*;}
-dontwarn android.content.**
-keep class com.google.android.** {*;}
-dontwarn com.google.android.**
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
# Vungle
-keep class com.vungle.** { *; }
-dontwarn com.vungle.**
# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**
-keep class android.** { *; }
-dontwarn android.**
-keep class com.android.** {*;}
-dontwarn com.android.**
# Okio
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
# Retrofit
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8
# Gson
-keepattributes Signature
-keepattributes *Annotation*
-dontwarn sun.misc.**
-keep class com.google.gson.examples.android.model.** { *; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
#ironsource
-keep class com.ironsource.** { *;}
-dontwarn com.ironsource.**
#inmobi
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
-keep class com.integralads.** { *; }
-dontwarn com.integralads.**
-keep class com.moat.** { *; }
-dontwarn com.moat.**
#mobvista
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.mintegral.** {*; }
-keep interface com.mintegral.** {*; }
-keep class android.support.v4.** { *; }
-dontwarn com.mintegral.**
-keep class **.R$* { public static final int mintegral*; }
-keep class com.alphab.** {*; }
-keep interface com.alphab.** {*; }
#Adcolony
-keep class com.adcolony.** {*; }
-dontwarn com.adcolony.**
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
#Tapjoy
-keep class com.tapjoy.** { *; }
-keepattributes JavascriptInterface
-keepattributes *Annotation*
-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.**
# 更新 unity3d下的所有类及其内部类
-keep class com.unity3d.** {*;}
-dontwarn com.unity3d.**
#Fyber
-keep class com.heyzap.** {*;}
-keep class com.fyber.** {*;}
-dontwarn com.heyzap.**
-dontwarn com.fyber.**
-keep class androidx.** {*;}
-dontwarn androidx.**
-keep class com.plugins.lib.base.SharedPreferencesUtils {*;}
-keep class com.plugin.analytics.AnalyticsControl {*;}
# 保留chartboost 新添加
-keep class com.chartboost.** {*;}
-dontwarn com.chartboost.**
-keep class com.chartboost_helium.** {*;}
-dontwarn com.chartboost_helium.**
-keep class com.moat.** {*;}
-dontwarn com.moat.**
-keepattributes *Annotation*
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep class org.greenrobot.** {*;}
-dontwarn org.greenrobot.**
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
#vungle更新===========
# Vungle
-keep class com.vungle.** { *; }
-dontwarn com.vungle.**
-keep class com.vungle.warren.downloader.DownloadRequest
-dontwarn com.vungle.warren.error.VungleError$ErrorCode
-dontwarn com.vungle.warren.downloader.DownloadRequest$Status
-keepclassmembers enum com.vungle.warren.** { *; }
# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-keepattributes *Annotation*
# Retrofit
-keepattributes Signature, InnerClasses
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn javax.annotation.**
-dontwarn kotlin.Unit
-dontwarn retrofit2.-KotlinExtensions
# Okio+OkHttp
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-dontwarn org.conscrypt.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
#=======================================
#穿山甲===============================
-keep class com.bytedance.** {*;}
-keep class com.androidquery.** {*;}
-keep class com.ss.** {*;}
-keep class com.com.bytedance.** {*;}
-dontwarn com.androidquery.**
-dontwarn com.ss.**
-dontwarn com.com.bytedance.**
-dontwarn com.bytedance.**
-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
#=======================================
#Display
#=======================================
-keep class com.brandio.** { *;}
-dontwarn com.brandio.**
-keep class iab.omid.**{ *;}
-dontwarn iab.omid.**
#=======================================
#GDTAD
#=======================================
-keep class com.qq.e.** { *;}
-dontwarn com.qq.e.**
#=======================================
##sigmob=========
-keep class com.google.android.material.** {*;}
-keep class androidx.** {*;}
-keep public class * extends androidx.**
-keep interface androidx.** {*;}
-dontwarn com.google.android.material.**
-dontnote com.google.android.material.**
-dontwarn androidx.**
-keep class sun.misc.Unsafe { *; }
-dontwarn com.sigmob.**
-keep class com.sigmob.**.**{*;}
-keep class com.bun.miitmdid.core.** {*;}
-dontwarn com.bun.miitmdid.core.**
##END sigmob=========
##KuaiShou=========
-keep class org.chromium.** {*;}
-keep class org.chromium.** { *; }
-keep class aegon.chrome.** { *; }
-keep class com.kwai.**{ *; }
-keep class com.kwad.**{ *; }
-dontwarn com.kwai.**
-dontwarn com.kwad.**
-dontwarn com.ksad.**
-dontwarn aegon.chrome.**
##END KuaiShou====