proguard-rules.pro 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066
  1. # Add project specific ProGuard rules here.
  2. # By default, the flags in this file are appended to flags specified
  3. # in D:\work\software\SDK/tools/proguard/proguard-android.txt
  4. # You can edit the include path and order by changing the proguardFiles
  5. # directive in build.gradle.
  6. #
  7. # For more details, see
  8. # http://developer.android.com/guide/developing/tools/proguard.html
  9. # Add any project specific keep options here:
  10. # If your project uses WebView with JS, uncomment the following
  11. # and specify the fully qualified class name to the JavaScript interface
  12. # class:
  13. -keepclassmembers class fqcn.of.javascript.interface.for.webview {
  14. public *;
  15. }
  16. -keep class androidx.core.app.CoreComponentFactory { *; }
  17. # Uncomment this to preserve the line number information for
  18. # debugging stack traces.
  19. #-keepattributes SourceFile,LineNumberTable
  20. # If you keep the line number information, uncomment this to
  21. # hide the original source file name.
  22. #-renamesourcefileattribute SourceFile
  23. -dontshrink
  24. -dontwarn com.google.android.maps.**
  25. -dontwarn android.webkit.WebView
  26. -dontwarn okhttp3.**
  27. -dontwarn okio.**
  28. -dontwarn javax.annotation.**
  29. # A resource is loaded with a relative path so the package of this class must be preserved.
  30. -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
  31. -keep class com.tencent.mm.opensdk.** { *;}
  32. -keep class com.tencent.wxop.** { *;}
  33. -keep class com.tencent.mm.sdk.** { *;}
  34. -keep class com.tencent.** { *;}
  35. -dontwarn com.tencent.bugly.**
  36. -keep public class com.tencent.**{*;}
  37. -keep class android.support.**{*;}
  38. #友盟
  39. -keep class com.umeng.** {*;}
  40. -keep public interface com.umeng.**
  41. -keep public interface com.tencent.**
  42. -keep public class com.umeng.* {*;}
  43. -keep class UMMoreHandler{*;}
  44. -keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
  45. -keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
  46. -keep class com.tencent.mm.** {
  47. *;
  48. }
  49. -dontwarn twitter4j.**
  50. -keep class twitter4j.** { *; }
  51. -keep class com.tencent.** {*;}
  52. -dontwarn com.tencent.**
  53. -keep class com.kakao.** {*;}
  54. -dontwarn com.kakao.**
  55. -keep public class com.umeng.com.umeng.soexample.R$*{
  56. public static final int *;
  57. }
  58. -keep public class com.linkedin.android.mobilesdk.R$*{
  59. public static final int *;
  60. }
  61. -keepclassmembers enum * {
  62. public static **[] values();
  63. public static ** valueOf(java.lang.String);
  64. }
  65. -dontwarn dalvik.**
  66. -dontwarn com.tencent.smtt.**
  67. #-optimizationpasses 7 HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
  68. #-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
  69. -dontoptimize
  70. -dontusemixedcaseclassnames
  71. -verbose
  72. -dontskipnonpubliclibraryclasses
  73. -dontskipnonpubliclibraryclassmembers
  74. -dontwarn dalvik.**
  75. -dontwarn com.tencent.smtt.**
  76. #-overloadaggressively
  77. # ------------------ Keep LineNumbers and properties ---------------- #
  78. -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
  79. # --------------------------------------------------------------------------
  80. -keep class com.snail.antifake.jni.** { *; }
  81. # Addidional for x5.sdk classes for apps
  82. -keep class com.tencent.smtt.export.external.**{
  83. *;
  84. }
  85. -keep class com.tencent.tbs.video.interfaces.IUserStateChangedListener {
  86. *;
  87. }
  88. -keep class com.tencent.smtt.sdk.CacheManager {
  89. public *;
  90. }
  91. -keep class com.tencent.smtt.sdk.CookieManager {
  92. public *;
  93. }
  94. -keep class com.tencent.smtt.sdk.WebHistoryItem {
  95. public *;
  96. }
  97. -keep class com.tencent.smtt.sdk.WebViewDatabase {
  98. public *;
  99. }
  100. -keep class com.tencent.smtt.sdk.WebBackForwardList {
  101. public *;
  102. }
  103. -keep public class com.tencent.smtt.sdk.WebView {
  104. public <fields>;
  105. public <methods>;
  106. }
  107. -keep public class com.tencent.smtt.sdk.WebView$HitTestResult {
  108. public static final <fields>;
  109. public java.lang.String getExtra();
  110. public int getType();
  111. }
  112. -keep public class com.tencent.smtt.sdk.WebView$WebViewTransport {
  113. public <methods>;
  114. }
  115. -keep public class com.tencent.smtt.sdk.WebView$PictureListener {
  116. public <fields>;
  117. public <methods>;
  118. }
  119. -keepattributes InnerClasses
  120. -keep public enum com.tencent.smtt.sdk.WebSettings$** {
  121. *;
  122. }
  123. -keep public enum com.tencent.smtt.sdk.QbSdk$** {
  124. *;
  125. }
  126. -keep public class com.tencent.smtt.sdk.WebSettings {
  127. public *;
  128. }
  129. -keepattributes Signature
  130. -keep public class com.tencent.smtt.sdk.ValueCallback {
  131. public <fields>;
  132. public <methods>;
  133. }
  134. -keep public class com.tencent.smtt.sdk.WebViewClient {
  135. public <fields>;
  136. public <methods>;
  137. }
  138. -keep public class com.tencent.smtt.sdk.DownloadListener {
  139. public <fields>;
  140. public <methods>;
  141. }
  142. -keep public class com.tencent.smtt.sdk.WebChromeClient {
  143. public <fields>;
  144. public <methods>;
  145. }
  146. -keep public class com.tencent.smtt.sdk.WebChromeClient$FileChooserParams {
  147. public <fields>;
  148. public <methods>;
  149. }
  150. -keep class com.tencent.smtt.sdk.SystemWebChromeClient{
  151. public *;
  152. }
  153. # 1. extension interfaces should be apparent
  154. -keep public class com.tencent.smtt.export.external.extension.interfaces.* {
  155. public protected *;
  156. }
  157. # 2. interfaces should be apparent
  158. -keep public class com.tencent.smtt.export.external.interfaces.* {
  159. public protected *;
  160. }
  161. -keep public class com.tencent.smtt.sdk.WebViewCallbackClient {
  162. public protected *;
  163. }
  164. -keep public class com.tencent.smtt.sdk.WebStorage$QuotaUpdater {
  165. public <fields>;
  166. public <methods>;
  167. }
  168. -keep public class com.tencent.smtt.sdk.WebIconDatabase {
  169. public <fields>;
  170. public <methods>;
  171. }
  172. -keep public class com.tencent.smtt.sdk.WebStorage {
  173. public <fields>;
  174. public <methods>;
  175. }
  176. -keep public class com.tencent.smtt.sdk.DownloadListener {
  177. public <fields>;
  178. public <methods>;
  179. }
  180. -keep public class com.tencent.smtt.sdk.QbSdk {
  181. public <fields>;
  182. public <methods>;
  183. }
  184. -keep public class com.tencent.smtt.sdk.QbSdk$PreInitCallback {
  185. public <fields>;
  186. public <methods>;
  187. }
  188. -keep public class com.tencent.smtt.sdk.CookieSyncManager {
  189. public <fields>;
  190. public <methods>;
  191. }
  192. -keep public class com.tencent.smtt.sdk.Tbs* {
  193. public <fields>;
  194. public <methods>;
  195. }
  196. -keep public class com.tencent.smtt.utils.LogFileUtils {
  197. public <fields>;
  198. public <methods>;
  199. }
  200. -keep public class com.tencent.smtt.utils.TbsLog {
  201. public <fields>;
  202. public <methods>;
  203. }
  204. -keep public class com.tencent.smtt.utils.TbsLogClient {
  205. public <fields>;
  206. public <methods>;
  207. }
  208. -keep public class com.tencent.smtt.sdk.CookieSyncManager {
  209. public <fields>;
  210. public <methods>;
  211. }
  212. # Added for game demos
  213. -keep public class com.tencent.smtt.sdk.TBSGamePlayer {
  214. public <fields>;
  215. public <methods>;
  216. }
  217. -keep public class com.tencent.smtt.sdk.TBSGamePlayerClient* {
  218. public <fields>;
  219. public <methods>;
  220. }
  221. -keep public class com.tencent.smtt.sdk.TBSGamePlayerClientExtension {
  222. public <fields>;
  223. public <methods>;
  224. }
  225. -keep public class com.tencent.smtt.sdk.TBSGamePlayerService* {
  226. public <fields>;
  227. public <methods>;
  228. }
  229. -keep public class com.tencent.smtt.utils.Apn {
  230. public <fields>;
  231. public <methods>;
  232. }
  233. -keep class com.tencent.smtt.** {
  234. *;
  235. }
  236. # end
  237. -keep public class com.tencent.smtt.export.external.extension.proxy.ProxyWebViewClientExtension {
  238. public <fields>;
  239. public <methods>;
  240. }
  241. -keep class MTT.ThirdAppInfoNew {
  242. *;
  243. }
  244. -keep class com.tencent.mtt.MttTraceEvent {
  245. *;
  246. }
  247. # Game related
  248. -keep public class com.tencent.smtt.gamesdk.* {
  249. public protected *;
  250. }
  251. -keep public class com.tencent.smtt.sdk.TBSGameBooter {
  252. public <fields>;
  253. public <methods>;
  254. }
  255. -keep public class com.tencent.smtt.sdk.TBSGameBaseActivity {
  256. public protected *;
  257. }
  258. -keep public class com.tencent.smtt.sdk.TBSGameBaseActivityProxy {
  259. public protected *;
  260. }
  261. -keep public class com.tencent.smtt.gamesdk.internal.TBSGameServiceClient {
  262. public *;
  263. }
  264. #---------------------------------------------------------------------------
  265. #------------------ 下方是android平台自带的排除项,这里不要动 ----------------
  266. -keep public class * extends android.app.Activity{
  267. public <fields>;
  268. public <methods>;
  269. }
  270. -keep public class * extends android.app.Application
  271. {
  272. public <fields>;
  273. public <methods>;
  274. }
  275. -keep public class * extends android.app.Service
  276. -keep public class * extends android.content.BroadcastReceiver
  277. -keep public class * extends android.content.ContentProvider
  278. -keep public class * extends android.app.backup.BackupAgentHelper
  279. -keep public class * extends android.preference.Preference
  280. -keepclassmembers enum * {
  281. public static **[] values();
  282. public static ** valueOf(java.lang.String);
  283. }
  284. -keepclasseswithmembers class * {
  285. public <init>(android.content.Context, android.util.AttributeSet);
  286. }
  287. -keepclasseswithmembers class * {
  288. public <init>(android.content.Context, android.util.AttributeSet, int);
  289. }
  290. -keepattributes *Annotation*
  291. -keepclasseswithmembernames class *{
  292. native <methods>;
  293. }
  294. -keep class * implements android.os.Parcelable {
  295. public static final android.os.Parcelable$Creator *;
  296. }
  297. #------------------ 下方是共性的排除项目 ----------------
  298. # 方法名中含有“JNI”字符的,认定是Java Native Interface方法,自动排除
  299. # 方法名中含有“JRI”字符的,认定是Java Reflection Interface方法,自动排除
  300. -keepclasseswithmembers class * {
  301. ... *JNI*(...);
  302. }
  303. -keepclasseswithmembernames class * {
  304. ... *JRI*(...);
  305. }
  306. -keep class **JNI* {*;}
  307. -keep class com.tencent.smtt.** {
  308. *;
  309. }
  310. -keep class com.tencent.tbs.** {
  311. *;
  312. }
  313. -keep class com.tencent.open.TDialog$*
  314. -keep class com.tencent.open.TDialog$* {*;}
  315. -keep class com.tencent.open.PKDialog
  316. -keep class com.tencent.open.PKDialog {*;}
  317. -keep class com.tencent.open.PKDialog$*
  318. -keep class com.tencent.open.PKDialog$* {*;}
  319. -keep class com.umeng.socialize.impl.ImageImpl {*;}
  320. -keep class com.sina.** {*;}
  321. -dontwarn com.sina.**
  322. -keep class com.alipay.share.sdk.** {
  323. *;
  324. }
  325. -keepnames class * implements android.os.Parcelable {
  326. public static final ** CREATOR;
  327. }
  328. -keep class com.linkedin.** { *; }
  329. -keep class com.android.dingtalk.share.ddsharemodule.** { *; }
  330. #指定代码的压缩级别
  331. -optimizationpasses 5
  332. #不去忽略非公共的库类
  333. -dontskipnonpubliclibraryclasses
  334. -dontskipnonpubliclibraryclassmembers
  335. # 是否使用大小写混合
  336. -dontusemixedcaseclassnames
  337. #预校验
  338. -dontpreverify
  339. #混淆时是否记录日志
  340. -verbose
  341. #忽略警告,避免打包时某些警告出现
  342. #-ignorewarning
  343. # 混淆时所采用的算法
  344. -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
  345. #保护注解
  346. -keepattributes *Annotation*
  347. #记录生成的日志数据,gradle build时在本项目根目录输出
  348. #apk 包内所有 class 的内部结构
  349. -dump class_files.txt
  350. #未混淆的类和成员
  351. -printseeds seeds.txt
  352. #列出从 apk 中删除的代码
  353. -printusage unused.txt
  354. #混淆前后的映射
  355. -printmapping mapping.txt
  356. # 保持哪些类不被混淆
  357. -keep public class * extends android.app.Activity
  358. -keep public class * extends android.app.Fragment
  359. -keep public class * extends android.app.Application
  360. -keep public class * extends android.app.Service
  361. -keep public class * extends android.content.BroadcastReceiver
  362. -keep public class * extends android.content.ContentProvider
  363. -keep public class * extends android.app.backup.BackupAgentHelper
  364. -keep public class * extends android.preference.Preference
  365. -keep public class com.android.vending.licensing.ILicensingService
  366. -keep class * implements java.io.Serializable
  367. -keepattributes *Annotation*
  368. -keepclassmembers class ** {
  369. @org.greenrobot.eventbus.Subscribe <methods>;
  370. }
  371. -keep enum org.greenrobot.eventbus.ThreadMode { *; }
  372. # Only required if you use AsyncExecutor
  373. -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
  374. <init>(java.lang.Throwable);
  375. }
  376. #app
  377. #忽略bean类
  378. -keep class com.googlecode.protobuf.format.** { *; }
  379. -keep class com.kfzs.duanduan.bean.** { *; }
  380. -keep class com.kfzs.duanduan.proto.** { *; }
  381. -keep class com.sheep.gamegroup.model.** { *; }
  382. -keep class com.sheep.gamegroup.module.*.model.** { *; }
  383. -keep class com.sheep.jiuyan.samllsheep.bean.** { *; }
  384. -keep class com.sheep.gamegroup.greendao.** { *; }
  385. -keep class com.jcodecraeer.** { *; }
  386. -keep class com.sheep.jiuyan.samllsheep.service.DownloadService { *; }
  387. -keep class com.sheep.jiuyan.samllsheep.wxapi.WXEntryActivity.** { *; }
  388. #datashare
  389. -keep class com.kfzs.duanduan.data.graph.** { *; }
  390. -keep class com.kfzs.duanduan.datashare.** { *; }
  391. #ari
  392. #-keep class com.arialyy.** { *; }
  393. -dontwarn com.arialyy.aria.**
  394. -keep class com.arialyy.aria.**{*;}
  395. -keep class **$$DownloadListenerProxy{ *; }
  396. -keep class **$$UploadListenerProxy{ *; }
  397. -keep class **$$DownloadGroupListenerProxy{ *; }
  398. -keepclasseswithmembernames class * {
  399. @Download.* <methods>;
  400. @Upload.* <methods>;
  401. @DownloadGroup.* <methods>;
  402. }
  403. -keep class org.** { *; }
  404. -keep class sun.** { *; }
  405. -keep class net.** { *; }
  406. -keep class com.fasterxml.** { *; }
  407. -keep class javax.** { *; }
  408. -keep class rx.** { *; }
  409. # Retrofit 2.X
  410. ## https://square.github.io/retrofit/ ##
  411. -dontwarn retrofit2.**
  412. -keep class retrofit2.** { *; }
  413. -keepattributes Signature
  414. -keepattributes Exceptions
  415. -keepclasseswithmembers class * {
  416. @retrofit2.http.* <methods>;
  417. }
  418. # Retrofit 1.X
  419. -keep class com.squareup.okhttp.** { *; }
  420. -keep class retrofit.** { *; }
  421. -keep interface com.squareup.okhttp.** { *; }
  422. -dontwarn com.squareup.okhttp.**
  423. -dontwarn okio.**
  424. -dontwarn retrofit.**
  425. -dontwarn rx.**
  426. -keepclasseswithmembers class * {
  427. @retrofit.http.* <methods>;
  428. }
  429. # If in your rest service interface you use methods with Callback argument.
  430. -keepattributes Exceptions
  431. # If your rest service methods throw custom exceptions, because you've defined an ErrorHandler.
  432. -keepattributes Signature
  433. # 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.
  434. # Here include the POJO's that have you have created for mapping JSON response to POJO for example.
  435. ## Square Otto specific rules ##
  436. ## https://square.github.io/otto/ ##
  437. -keepattributes *Annotation*
  438. -keepclassmembers class ** {
  439. @com.squareup.otto.Subscribe public *;
  440. @com.squareup.otto.Produce public *;
  441. }
  442. ## Square Picasso specific rules ##
  443. ## https://square.github.io/picasso/ ##
  444. -dontwarn com.squareup.okhttp.**
  445. # OkHttp
  446. -keepattributes Signature
  447. -keepattributes *Annotation*
  448. -keep class okhttp3.** { *; }
  449. -keep interface okhttp3.** { *; }
  450. -dontwarn okhttp3.**
  451. # Dagger ProGuard rules.
  452. # https://github.com/square/dagger
  453. -dontwarn dagger.internal.codegen.**
  454. -keepclassmembers,allowobfuscation class * {
  455. @javax.inject.* *;
  456. @dagger.* *;
  457. <init>();
  458. }
  459. -keep class dagger.* { *; }
  460. -keep class javax.inject.* { *; }
  461. -keep class * extends dagger.internal.Binding
  462. -keep class * extends dagger.internal.ModuleAdapter
  463. -keep class * extends dagger.internal.StaticInjection
  464. # RxJava 0.21
  465. -keep class rx.schedulers.Schedulers {
  466. public static <methods>;
  467. }
  468. -keep class rx.schedulers.ImmediateScheduler {
  469. public <methods>;
  470. }
  471. -keep class rx.schedulers.TestScheduler {
  472. public <methods>;
  473. }
  474. -keep class rx.schedulers.Schedulers {
  475. public static ** test();
  476. }
  477. # Configuration for Guava 18.0
  478. #
  479. # disagrees with instructions provided by Guava project: https://code.google.com/p/guava-libraries/wiki/UsingProGuardWithGuava
  480. -keep class com.google.common.io.Resources {
  481. public static <methods>;
  482. }
  483. -keep class com.google.common.collect.Lists {
  484. public static ** reverse(**);
  485. }
  486. -keep class com.google.common.base.Charsets {
  487. public static <fields>;
  488. }
  489. -keep class com.google.common.base.Joiner {
  490. public static com.google.common.base.Joiner on(java.lang.String);
  491. public ** join(...);
  492. }
  493. -keep class com.google.common.collect.MapMakerInternalMap$ReferenceEntry
  494. -keep class com.google.common.cache.LocalCache$ReferenceEntry
  495. # http://stackoverflow.com/questions/9120338/proguard-configuration-for-guava-with-obfuscation-and-optimization
  496. -dontwarn javax.annotation.**
  497. -dontwarn javax.inject.**
  498. -dontwarn sun.misc.Unsafe
  499. # Guava 19.0
  500. -dontwarn java.lang.ClassValue
  501. -dontwarn com.google.j2objc.annotations.Weak
  502. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
  503. ## GSON 2.2.4 specific rules ##
  504. # Gson uses generic type information stored in a class file when working with fields. Proguard
  505. # removes such information by default, so configure it to keep all of it.
  506. -keepattributes Signature
  507. # For using GSON @Expose annotation
  508. -keepattributes *Annotation*
  509. -keepattributes EnclosingMethod
  510. # Gson specific classes
  511. -keep class sun.misc.Unsafe { *; }
  512. -keep class com.google.gson.stream.** { *; }
  513. # GreenDao rules
  514. # Source: http://greendao-orm.com/documentation/technical-faq
  515. #
  516. -keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
  517. public static java.lang.String TABLENAME;
  518. }
  519. -keep class **$Properties
  520. # Glide specific rules #
  521. # https://github.com/bumptech/glide
  522. -keep public class * implements com.bumptech.glide.module.GlideModule
  523. -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  524. **[] $VALUES;
  525. public *;
  526. }
  527. # Fresco v0.8.1 ProGuard rules.
  528. # https://github.com/facebook/fresco
  529. -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
  530. # Do not strip any method/class that is annotated with @DoNotStrip
  531. -keep @com.facebook.common.internal.DoNotStrip class *
  532. -keepclassmembers class * {
  533. @com.facebook.common.internal.DoNotStrip *;
  534. }
  535. # Keep native methods
  536. -keepclassmembers class * {
  537. native <methods>;
  538. }
  539. -dontwarn okio.**
  540. -dontwarn javax.annotation.**
  541. -dontwarn com.android.volley.toolbox.**
  542. ## New rules for EventBus 3.0.x ##
  543. # http://greenrobot.org/eventbus/documentation/proguard/
  544. -keepattributes *Annotation*
  545. -keepclassmembers class ** {
  546. @org.greenrobot.eventbus.Subscribe <methods>;
  547. }
  548. -keep enum org.greenrobot.eventbus.ThreadMode { *; }
  549. # Only required if you use AsyncExecutor
  550. -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
  551. <init>(java.lang.Throwable);
  552. }
  553. #Easy-Adapter v1.5.0
  554. -keepattributes *Annotation*
  555. -keepclassmembers class * extends uk.co.ribot.easyadapter.ItemViewHolder {
  556. public <init>(...);
  557. }
  558. # Crashlytics 2.+
  559. -keep class com.crashlytics.** { *; }
  560. -keep class com.crashlytics.android.**
  561. -keepattributes SourceFile, LineNumberTable, *Annotation*
  562. # If you are using custom exceptions, add this line so that custom exception types are skipped during obfuscation:
  563. -keep public class * extends java.lang.Exception
  564. # For Fabric to properly de-
  565. # ButterKnife 7
  566. -keep class butterknife.** { *; }
  567. -dontwarn butterknife.internal.**
  568. -keep class **$$ViewBinder { *; }
  569. -keepclasseswithmembernames class * {
  570. @butterknife.* <fields>;
  571. }
  572. -keepclasseswithmembernames class * {
  573. @butterknife.* <methods>;
  574. }
  575. # fastjson proguard rules
  576. # https://github.com/alibaba/fastjson
  577. -dontwarn com.alibaba.fastjson.**
  578. -keepattributes Signature
  579. -keepattributes *Annotation*
  580. ## ActionBarSherlock 4.4.0 specific rules ##
  581. -keep class android.support.v4.app.** { *; }
  582. -keep interface android.support.v4.app.** { *; }
  583. -keep class com.actionbarsherlock.** { *; }
  584. -keep interface com.actionbarsherlock.** { *; }
  585. -keepattributes *Annotation*
  586. ## hack for Actionbarsherlock 4.4.0, see https://github.com/JakeWharton/ActionBarSherlock/issues/1001 ##
  587. -dontwarn com.actionbarsherlock.internal.**
  588. ## SVG Android ##
  589. #https://github.com/pents90/svg-android
  590. -keep class com.larvalabs.svgandroid.** {*;}
  591. -keep class com.larvalabs.svgandroid.*$* {*;}
  592. -keep public class android.support.v7.widget.** { *; }
  593. -keep public class android.support.v7.internal.widget.** { *; }
  594. -keep public class android.support.v7.internal.view.menu.** { *; }
  595. -keep public class * extends android.support.v4.view.ActionProvider {
  596. public <init>(android.content.Context);
  597. }
  598. -dontwarn android.support.design.**
  599. -keep class android.support.design.** { *; }
  600. -keep interface android.support.design.** { *; }
  601. -keep public class android.support.design.R$* { *; }
  602. ##极光推送
  603. -dontoptimize
  604. -dontpreverify
  605. -dontwarn cn.jpush.**
  606. -keep class cn.jpush.** { *; }
  607. -keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
  608. -dontwarn cn.jiguang.**
  609. -keep class cn.jiguang.** { *; }
  610. #2.0.5 ~ 2.1.7 版本有引入 gson 和 protobuf ,增加排除混淆的配置。(2.1.8版本不需配置)
  611. #==================gson && protobuf==========================
  612. -dontwarn com.google.**
  613. -keep class com.google.gson.** {*;}
  614. -keep class com.google.protobuf.** {*;}
  615. # banner 的混淆代码
  616. -keep class com.youth.banner.** {
  617. *;
  618. }
  619. #==================compile 'com.haibin:calendarview:3.4.4'==========================
  620. -keepclasseswithmembers class * {
  621. public <init>(android.content.Context);
  622. }
  623. #==================插件化框架 https://github.com/didi/VirtualAPK==========================
  624. -keep class com.didi.virtualapk.internal.VAInstrumentation { *; }
  625. -keep class com.didi.virtualapk.internal.PluginContentResolver { *; }
  626. -dontwarn com.didi.virtualapk.**
  627. -dontwarn android.**
  628. -keep class android.** { *; }
  629. #下面的库在host和media plugin中都有使用,混淆后在media中找不到类,暂时不混淆
  630. -keep class com.alibaba.fastjson.** { *; }
  631. -keep class com.chad.library.** { *; }
  632. -keep class com.bumptech.glide.** { *; }
  633. #==================webView 缓存优化初始化 https://github.com/yale8848/CacheWebView==========================
  634. #CacheWebview
  635. -dontwarn ren.yale.android.cachewebviewlib.**
  636. -keep class ren.yale.android.cachewebviewlib.**{*;}
  637. #okhttp
  638. -dontwarn okhttp3.**
  639. -keep class okhttp3.**{*;}
  640. #okio
  641. -dontwarn okio.**
  642. -keep class okio.**{*;}
  643. #==================GSYVideoPlayer https://github.com/CarGuo/GSYVideoPlayer==========================
  644. -keep class com.shuyu.gsyvideoplayer.video.** { *; }
  645. -dontwarn com.shuyu.gsyvideoplayer.video.**
  646. -keep class com.shuyu.gsyvideoplayer.video.base.** { *; }
  647. -dontwarn com.shuyu.gsyvideoplayer.video.base.**
  648. -keep class com.shuyu.gsyvideoplayer.utils.** { *; }
  649. -dontwarn com.shuyu.gsyvideoplayer.utils.**
  650. -keep class tv.danmaku.ijk.** { *; }
  651. -dontwarn tv.danmaku.ijk.**
  652. -keep public class * extends android.view.View{
  653. *** get*();
  654. void set*(***);
  655. public <init>(android.content.Context);
  656. public <init>(android.content.Context, android.util.AttributeSet);
  657. public <init>(android.content.Context, android.util.AttributeSet, int);
  658. }
  659. #==================https://github.com/koral--/android-gif-drawable==========================
  660. -keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}
  661. #==================鸿途信达广告sdk==========================
  662. -keep class com.hc.**{*;}
  663. -keep class com.hoc.**{*;}
  664. #==================现在支付保护区====================================
  665. -optimizationpasses 5
  666. -dontusemixedcaseclassnames
  667. -dontskipnonpubliclibraryclasses
  668. -dontskipnonpubliclibraryclassmembers
  669. -dontpreverify
  670. -verbose
  671. -printmapping proguardMapping.txt
  672. -optimizations !code/simplification/cast,!field/*,!class/merging/*
  673. -keepattributes *Annotation*,InnerClasses
  674. -keepattributes Signature
  675. -keepattributes SourceFile,LineNumberTable
  676. -ignorewarnings
  677. -keep class com.alipay.android.app.IAlixPay{*;}
  678. -keep class com.alipay.android.app.IAlixPay$Stub{*;}
  679. -keep class com.alipay.android.app.IRemoteServiceCallback{*;}
  680. -keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
  681. -keep class com.alipay.sdk.app.PayTask{ public *;}
  682. -keep class com.alipay.sdk.auth.AlipaySDK{ public *;}
  683. -keep class com.alipay.sdk.auth.APAuthInfo{ public *;}
  684. -keep class com.alipay.mobilesecuritysdk.*
  685. -keep class com.ut.*
  686. -keep class cn.gov.pbc.tsm.*{*;}
  687. -keep class com.UCMobile.PayPlugin.*{*;}
  688. -keep class com.unionpay.*{*;}
  689. -dontwarn com.unionpay.**
  690. -keep class com.ipaynow.plugin.api.IpaynowPlugin{
  691. <fields>;
  692. <methods>;
  693. }
  694. -keep class com.ipaynow.plugin.manager.route.dto.RequestParams{
  695. <fields>;
  696. <methods>;
  697. }
  698. -keep class com.ipaynow.plugin.manager.route.dto.ResponseParams{
  699. <fields>;
  700. <methods>;
  701. }
  702. -keep class com.ipaynow.plugin.manager.route.impl.ReceivePayResult{
  703. <fields>;
  704. <methods>;
  705. }
  706. -keep class com.alipay.android.app.IAlixPay {
  707. <fields>;
  708. <methods>;
  709. }
  710. -keep class com.ipaynow.plugin.utils.StringUtils{
  711. <fields>;
  712. <methods>;
  713. }
  714. -keep class com.alipay.android.app.IRemoteServiceCallback {
  715. <fields>;
  716. <methods>;
  717. }
  718. -keep class com.ipaynow.plugin.utils.NativeUtils{
  719. <fields>;
  720. <methods>;
  721. }
  722. #===============百度人脸识别======================
  723. -keep class com.baidu.idl.** { *; }
  724. -keep class com.baidu.aip.** { *; }
  725. #===============点客广告SDK======================
  726. -keep class btmsdkobf.** { *; }
  727. -keep class com.tmsdk.** { *; }
  728. -keep class tmsdk.** { *; }
  729. #===============游可盈广告SDK======================
  730. -keep class com.tencent.tgpa.**{*;}
  731. -keep class com.tencent.klevin.**{*;}
  732. -keep class com.tencent.protocol.sspservice.**{*;}
  733. #==================优投广告sdk==========================
  734. # jasmine -sdk
  735. -dontwarn com.jasmine.cantaloupe.**
  736. -keep class com.jasmine.cantaloupe.**{*;}
  737. -dontwarn z9.z9.z9.**
  738. -keep class z9.z9.z9.**{*;}
  739. # androidx
  740. -keep class com.google.android.material.** {*;}
  741. -keep class androidx.** {*;}
  742. -keep public class * extends androidx.**
  743. -keep interface androidx.** {*;}
  744. -dontwarn com.google.android.material.**
  745. -dontnote com.google.android.material.**
  746. -dontwarn androidx.**
  747. # android.support.v4
  748. -dontwarn android.support.v4.**
  749. -keep class android.support.v4.** { *; }
  750. -keep interface android.support.v4.** { *; }
  751. -keep public class * extends android.support.v4.**
  752. #==================msa移动联盟sdk 移动安全联盟 (http://www.msa-alliance.cn)==========================
  753. # 移动联盟oaid
  754. -dontwarn com.bun.**
  755. -keep class com.bun.** {*;}
  756. -keep class com.bun.miitmdid.core.** {*;}
  757. -keep class com.bun.** {*;}
  758. -keep class com.asus.msa.** {*;}
  759. -keep class com.netease.nis.sdkwrapper.** {*;}
  760. -keep class com.heytap.openid.** {*;}
  761. -keep class com.huawei.android.hms.pps.** {*;}
  762. -keep class com.meizu.flyme.openidsdk.** {*;}
  763. -keep class com.samsung.android.deviceidservice.** {*;}
  764. -keep class com.zui.** {*;}
  765. -keep class com.huawei.hms.ads.** {*; }
  766. -keep class XI.** {*;}
  767. -keep interface com.huawei.hms.ads.** {*; }
  768. -keepattributes *Annotation*
  769. -keep @android.support.annotation.Keep class **{
  770. @android.support.annotation.Keep <fields>;
  771. @android.support.annotation.Keep <methods>;
  772. }
  773. -keep class com.lygame.wrapper.provider.* { public *; }
  774. -keep class com.lygame.wrapper.sdk.LySdk { *; }
  775. -keep class com.lygame.wrapper.strategy.DefaultStrategy { *; }
  776. -keep class com.lygame.wrapper.strategy.SdkStrategy { *; }
  777. -keep class com.lygame.wrapper.ad.LySplashAdBuilder { *; }
  778. -keep class com.lygame.wrapper.util.LySdkEventUtil { *; }
  779. -keep class com.lygame.wrapper.util.Base64Util { *; }
  780. -keep class com.lygame.wrapper.interfaces.* { *; }
  781. -keep class com.innerscore.rtlog.RuntimeLogManager{ *; }
  782. -keep class com.ksdk.** {*; }
  783. #OAID混淆
  784. -keep class XI.CA.XI.**{*;}
  785. -keep class XI.K0.XI.**{*;}
  786. -keep class XI.XI.K0.**{*;}
  787. -keep class XI.vs.K0.**{*;}
  788. -keep class XI.xo.XI.XI.**{*;}
  789. -keep class com.asus.msa.SupplementaryDID.**{*;}
  790. -keep class com.asus.msa.sdid.**{*;}
  791. -keep class com.bun.lib.**{*;}
  792. -keep class com.bun.miitmdid.**{*;}
  793. -keep class com.huawei.hms.ads.identifier.**{*;}
  794. -keep class com.samsung.android.deviceidservice.**{*;}
  795. -keep class org.json.**{*;}
  796. -keep public class com.netease.nis.sdkwrapper.Utils {public
  797. <methods>;}
  798. -keep class com.zk.deviceidentifier.** { *; }
  799. #小游戏
  800. # Keep class members annotated with @MiniKepp
  801. # 保护代码中的注解不被混淆
  802. -keepattributes *Annotation*
  803. -keep,allowobfuscation @interface com.tencent.qqmini.sdk.annotation.MiniKeep
  804. -keep @com.tencent.qqmini.sdk.annotation.MiniKeep class *
  805. -keepclassmembers @com.tencent.qqmini.sdk.annotation.MiniKeep class ** {
  806. public <methods>; <fields>;
  807. }
  808. -keepclassmembers class * {
  809. @com.tencent.qqmini.sdk.annotation.MiniKeep *;
  810. }
  811. # Keep class members annotated with @JsEvent
  812. -keep,allowobfuscation @interface com.tencent.qqmini.sdk.annotation.JsEvent
  813. -keepclassmembers class * {
  814. @com.tencent.qqmini.sdk.annotation.JsEvent *;
  815. }
  816. # Keep minigame triton
  817. -keep interface com.tencent.mobileqq.triton.** { *; }
  818. -keep class com.tencent.mobileqq.triton.** { *; }
  819. -keep @interface com.tencent.mobileqq.triton.jni.TTNativeModule, com.tencent.mobileqq.triton.jni.TTNativeCall
  820. -keep @com.tencent.mobileqq.triton.jni.TTNativeModule class ** {
  821. @com.tencent.mobileqq.triton.jni.TTNativeCall <methods>;
  822. @com.tencent.mobileqq.triton.jni.TTNativeCall <fields>;
  823. }
  824. -keep @interface io.github.landerlyoung.jenny.NativeClass, io.github.landerlyoung.jenny.NativeFieldProxy, io.github.landerlyoung.jenny.NativeMethodProxy
  825. -keep @io.github.landerlyoung.jenny.NativeClass class ** {
  826. @io.github.landerlyoung.jenny.NativeFieldProxy <fields>;
  827. @io.github.landerlyoung.jenny.NativeMethodProxy <methods>;
  828. }
  829. # Keep minigame sdk
  830. -keep class * extends com.tencent.qqmini.sdk.launcher.ui.MiniActivity
  831. -keep class com.tencent.qqmini.sdk.core.generated.** { *; }
  832. -keep class com.tencent.qqmini.sdk.launcher.** { *; }
  833. -keep class com.tencent.qqmini.sdk.MiniSDK { *; }
  834. -keep class com.tencent.qqmini.sdk.MiniSDK$* { *; }
  835. -keep class com.tencent.qqmini.sdk.BuildConfig { *; }
  836. -keep class com.tencent.qqmini.sdk.annotation.** {* ;}
  837. -keep class com.tencent.qqmini.sdk.utils.MiniSDKConst$AdConst{*;}
  838. -keep class com.tencent.qqmini.sdk.receiver.** {* ;}
  839. -keepclassmembers class com.tencent.qqmini.sdk.** {
  840. @android.webkit.JavascriptInterface <methods>;
  841. }
  842. -keep class com.tencent.qqmini.sdk.core.proxy.service.ChannelProxyDefault { *; }
  843. # protocol: should keep field name because reflection
  844. -keep class cooperation.** { *; }
  845. -keep class com.tencent.mobileqq.pb.MessageMicro { *; }
  846. -keepclassmembers class * extends com.tencent.mobileqq.pb.MessageMicro {
  847. <fields>;
  848. }
  849. # extra_ad
  850. -keep class com.tencent.qqmini.ad.** {* ;}
  851. # ad
  852. -keep class com.qq.e.** {* ;}
  853. # extraad模块直接引用了协议,先keep
  854. -keep class NS_MINI_AD.** { *; }
  855. -keep class NS_QWEB_PROTOCAL.** { *; }
  856. -keep class com.tencent.mobileqq.pb.PBStringField {*;}
  857. -keep class com.tencent.qqmini.sdk.request.ProtoBufRequest {
  858. public *;
  859. }
  860. # 微信互联登录
  861. -keep class com.tencent.mm.opensdk.** {
  862. *;
  863. }
  864. -keep class com.tencent.wxop.** {
  865. *;
  866. }
  867. -keep class com.tencent.mm.sdk.** {
  868. *;
  869. }
  870. -dontwarn com.baidu.idl.**
  871. -keep class com.baidu.idl.** { *; }
  872. -dontwarn com.baidu.vis.**
  873. -keep class com.baidu.vis.** { *; }
  874. -dontwarn com.baidu.liantian.**
  875. -keep class com.baidu.liantian.** { *; }
  876. -dontwarn com.baidu.protect.**
  877. -keep class com.baidu.protect.** { *; }
  878. -dontwarn com.baidu.ocr.**
  879. -keep class com.baidu.ocr.** { *; }