proguard-rules.pro 27 KB

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