proguard-Common.pro 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  1. -ignorewarnings
  2. -dontwarn sun.**
  3. -dontwarn javax.**
  4. -dontwarn java.awt.**
  5. -dontwarn org.apache.**
  6. -dontcompress resources.arsc,**.jpg,**.jpeg,**.png,**.gif,**.wav,**.mp2,**.mp3,**.ogg,**.aac,**.mpg,**.mpeg,**.mid,**.midi,**.smf,**.jet,**.rtttl,**.imy,**.xmf,**.mp4,**.m4a,**.m4v,**.3gp,**.3gpp,**.3g2,**.3gpp2,**.amr,**.awb,**.wma,**.wmv,**.webm,**.zip,**.jar,**.apk
  7. -dontcompress RESOURCES.ARSC,**.JPG,**.JPEG,**.PNG,**.GIF,**.WAV,**.MP2,**.MP3,**.OGG,**.AAC,**.MPG,**.MPEG,**.MID,**.MIDI,**.SMF,**.JET,**.RTTTL,**.IMY,**.XMF,**.MP4,**.M4A,**.M4V,**.3GP,**.3GPP,**.3G2,**.3GPP2,**.AMR,**.AWB,**.WMA,**.WMV,**.WEBM,**.ZIP,**.JAR,**.APK
  8. -keepattributes *Annotation*,Signature,InnerClasses,SourceFile,LineNumberTable
  9. -renamesourcefileattribute ''
  10. -keepresourcexmlattributenames manifest/installLocation,manifest/versionCode,manifest/application/*/intent-filter/*/name
  11. -keepresourcexmlattributenames ContactsSource/ContactsDataKind/*,ContactsAccountType/ContactsDataKind/*
  12. -keepclassmembers class **animation**Holder {
  13. public *** get*();
  14. public void set*(***);
  15. }
  16. # The name may be stored and then used after an update.
  17. -dontnote android.app.backup.BackupAgent
  18. -keep,allowshrinking public !abstract class * extends android.app.backup.BackupAgent
  19. -keepclassmembers !abstract class !com.google.ads.** extends android.view.View {
  20. public <init>(android.content.Context);
  21. public <init>(android.content.Context, android.util.AttributeSet);
  22. public <init>(android.content.Context, android.util.AttributeSet, int);
  23. public void set*(...);
  24. }
  25. -keepclassmembers !abstract class * {
  26. public <init>(android.content.Context, android.util.AttributeSet);
  27. public <init>(android.content.Context, android.util.AttributeSet, int);
  28. }
  29. -keepclassmembers class * extends android.content.Context {
  30. public void *(android.view.View);
  31. }
  32. -keepclassmembers class * implements android.os.Parcelable {
  33. static ** CREATOR;
  34. }
  35. -keepclassmembers class **.R$* {
  36. public static <fields>;
  37. }
  38. -dontnote android.webkit.JavascriptInterface
  39. -keepclassmembers class * {
  40. @android.webkit.JavascriptInterface <methods>;
  41. }
  42. # Renderscript support library.
  43. -dontwarn android.os.SystemProperties
  44. -dontwarn android.renderscript.RenderScript
  45. # DexGuard util library.
  46. -dontwarn dexguard.util.SSLPinningWebViewClient
  47. # Ignore references to removed R classes.
  48. -dontwarn android.support.**.R
  49. -dontwarn android.support.**.R$*
  50. # Ignore dynamic references and descriptor classes in support classes.
  51. -dontnote android.support.**
  52. # Ignore references from compatibility support classes to missing classes.
  53. -dontwarn
  54. android.support.**Compat*,
  55. android.support.**Honeycomb*,
  56. android.support.**Jellybean*,
  57. android.support.**JB*,
  58. android.support.**Kitkat*,
  59. android.support.**19,
  60. android.support.**21,
  61. android.support.v7.internal.**,
  62. android.support.v7.widget.Toolbar,
  63. android.app.Notification$Builder
  64. # Avoid merging and inlining compatibility classes.
  65. -keep,allowshrinking,allowobfuscation class
  66. android.support.**Compat*,
  67. android.support.**Honeycomb*,
  68. android.support.**Jellybean*,
  69. android.support.**JB*,
  70. android.support.**Kitkat*,
  71. android.support.**19,
  72. android.support.**21
  73. { *; }
  74. # Design support library.
  75. -keepnames class android.support.design.widget.CoordinatorLayout
  76. -keep !abstract class android.support.design.widget.* implements android.support.design.widget.CoordinatorLayout$Behavior {
  77. <init>(android.content.Context, android.util.AttributeSet);
  78. }
  79. # Signature optimized with class from API level 19 or higher.
  80. -keep,allowshrinking,allowobfuscation class android.support.v4.app.FragmentState$InstantiationException {
  81. <init>(...);
  82. }
  83. # Fields accessed before initialization.
  84. -keepclassmembers,allowshrinking,allowobfuscation class android.support.** {
  85. !static final <fields>;
  86. }
  87. # Android Wear.
  88. -keepresources raw/*_micro_apk
  89. # Google Play Services.
  90. -dontwarn com.google.android.gms.**
  91. -dontnote com.google.android.gms.**
  92. -keep,allowshrinking class com.google.android.gms.location.ActivityRecognitionResult
  93. -keep,allowshrinking class com.google.android.gms.maps.GoogleMapOptions
  94. -keepclassmembers class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
  95. public static final java.lang.String NULL;
  96. }
  97. -keep,allowobfuscation @interface com.google.android.gms.common.annotation.KeepName
  98. -keepnames @com.google.android.gms.common.annotation.KeepName class *
  99. -keepclassmembernames class * {
  100. @com.google.android.gms.common.annotation.KeepName *;
  101. }
  102. # Google Play market License Verification Library.
  103. -dontnote com.android.vending.licensing.ILicensingService
  104. -keep,allowobfuscation public class com.android.vending.licensing.ILicensingService
  105. # Google Play market expansion downloader.
  106. -keepclassmembers public class com.google.android.vending.expansion.downloader.impl.DownloadsDB$* {
  107. public static final java.lang.String[][] SCHEMA;
  108. public static final java.lang.String TABLE_NAME;
  109. }
  110. # Google Cloud Messaging.
  111. -keep,allowshrinking class **.GCMIntentService
  112. # AdMob (based on Google Play Services).
  113. -keepnames class com.google.android.gms.ads.AdActivity
  114. # AdMob (old library).
  115. -dontnote com.google.ads.mediation.MediationServerParameters$Parameter
  116. -keepclassmembers,allowobfuscation class * {
  117. @com.google.ads.mediation.MediationServerParameters$Parameter java.lang.String *;
  118. }
  119. -dontnote com.google.ads.mediation.MediationAdapter
  120. -keep !abstract !interface * implements com.google.ads.mediation.MediationAdapter
  121. -dontnote com.google.ads.mediation.customevent.CustomEvent
  122. -keep !abstract !interface * implements com.google.ads.mediation.customevent.CustomEvent
  123. # Amazon Ads.
  124. -dontnote com.amazon.device.ads.AdActivity
  125. -keepnames class com.amazon.device.ads.AdActivity
  126. # Guava.
  127. -dontnote sun.misc.Unsafe
  128. -dontnote com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator
  129. -keepclassmembers class com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator {
  130. sun.misc.Unsafe theUnsafe;
  131. }
  132. # Injection in Guice/RoboGuice/Dagger/ActionBarSherlock.
  133. -dontnote com.google.inject.Provider
  134. -keep,allowobfuscation class * implements com.google.inject.Provider
  135. -keep,allowobfuscation @interface javax.inject.** { *; }
  136. -keep,allowobfuscation @interface com.google.inject.** { *; }
  137. -keep,allowobfuscation @interface roboguice.** { *; }
  138. -keep,allowobfuscation @interface com.actionbarsherlock.** { *; }
  139. -dontnote com.google.inject.Inject
  140. -dontnote roboguice.event.Observes
  141. -keepclassmembers,allowobfuscation class * {
  142. @javax.inject.** <fields>;
  143. @com.google.inject.** <fields>;
  144. @roboguice.** <fields>;
  145. @roboguice.event.Observes <methods>;
  146. @com.actionbarsherlock.** <fields>;
  147. @dagger.** *;
  148. !private <init>();
  149. @com.google.inject.Inject <init>(***);
  150. }
  151. -dontnote roboguice.activity.event.OnCreateEvent
  152. -keepclass,allowobfuscation class roboguice.activity.event.OnCreateEvent
  153. -dontnote roboguice.inject.SharedPreferencesProvider$PreferencesNameHolder
  154. -keepclass,allowobfuscation class roboguice.inject.SharedPreferencesProvider$PreferencesNameHolder
  155. -dontnote com.google.inject.internal.util.$Finalizer
  156. -keepclassmembers class com.google.inject.internal.util.$Finalizer {
  157. public static java.lang.ref.ReferenceQueue startFinalizer(java.lang.Class,java.lang.Object);
  158. }
  159. -dontnote com.google.inject.internal.util.$FinalizableReference
  160. -keepnames class com.google.inject.internal.util.$FinalizableReference
  161. -keepclassmembers class * {
  162. void finalizeReferent();
  163. }
  164. # RoboGuice
  165. -dontwarn roboguice.activity.RoboMapActivity
  166. -dontwarn roboguice.test.**
  167. -keepclassmembers class android.support.v4.app.Fragment {
  168. public android.view.View getView();
  169. }
  170. -keepclassmembers class android.support.v4.app.FragmentManager {
  171. public android.support.v4.app.Fragment findFragmentById(int);
  172. public android.support.v4.app.Fragment findFragmentByTag(java.lang.String);
  173. }
  174. -dontnote com.google.inject.Module
  175. -keepclassmembers class * implements com.google.inject.Module {
  176. <init>(android.content.Context);
  177. <init>();
  178. }
  179. # Dagger.
  180. -dontwarn dagger.internal.codegen.*
  181. -keep class **$$ModuleAdapter
  182. -keep class **$$InjectAdapter
  183. -keep class **$$StaticInjection
  184. -dontnote javax.inject.Inject
  185. -keepclasseswithmembernames class * {
  186. @javax.inject.Inject <fields>;
  187. }
  188. -dontnote dagger.Lazy
  189. -keepnames class dagger.Lazy
  190. # Butter Knife.
  191. -dontwarn butterknife.internal.ButterKnifeProcessor
  192. -keep,allowobfuscation @interface butterknife.*
  193. -keep class **$$ViewInjector {
  194. public static void inject(...);
  195. public static void reset(...);
  196. }
  197. -keep class **$$ViewBinder {
  198. public static void bind(...);
  199. public static void unbind(...);
  200. }
  201. -keepclasseswithmembernames class * {
  202. @butterknife.* <fields>;
  203. }
  204. -keepclasseswithmembernames class * {
  205. @butterknife.* <methods>;
  206. }
  207. -keepclasseswithmembers class * {
  208. @butterknife.On* <methods>;
  209. }
  210. # Retrofit.
  211. -dontnote retrofit.http.RestMethod
  212. -keep,allowobfuscation @retrofit.http.RestMethod @interface *
  213. -keepclassmembers @retrofit.http.RestMethod @interface * {
  214. <methods>;
  215. }
  216. -keepclassmembers,allowobfuscation interface * {
  217. @retrofit.http.** <methods>;
  218. }
  219. # RxJava.
  220. -dontnote rx.internal.util.atomic.LinkedQueueNode
  221. -keepclassmembers class rx.internal.util.unsafe.*Queue {
  222. long producerIndex;
  223. long consumerIndex;
  224. rx.internal.util.atomic.LinkedQueueNode producerNode;
  225. rx.internal.util.atomic.LinkedQueueNode consumerNode;
  226. }
  227. # ActionBarSherlock.
  228. -dontnote com.actionbarsherlock.internal.nineoldandroids.animation.*
  229. -dontnote com.actionbarsherlock.ActionBarSherlock
  230. -keepclassmembers !abstract class * extends com.actionbarsherlock.ActionBarSherlock {
  231. <init>(android.app.Activity, int);
  232. }
  233. -dontnote com.actionbarsherlock.view.ActionProvider
  234. -keep !abstract class * extends com.actionbarsherlock.view.ActionProvider {
  235. <init>(android.content.Context);
  236. }
  237. # Facebook Conceal.
  238. -dontnote com.facebook.proguard.annotations.DoNotStrip
  239. -dontnote com.facebook.proguard.annotations.KeepGettersAndSetters
  240. -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
  241. -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
  242. -keep @com.facebook.proguard.annotations.DoNotStrip class *
  243. -keepclassmembers class * {
  244. @com.facebook.proguard.annotations.DoNotStrip *;
  245. }
  246. -keep @com.facebook.proguard.annotations.KeepGettersAndSetters class *
  247. -keepclassmembers class * {
  248. @com.facebook.proguard.annotations.KeepGettersAndSetters *;
  249. }
  250. -dontnote com.facebook.android.crypto.keychain.SecureRandomFix
  251. # Paypal card.io.
  252. -dontnote io.card.**
  253. -keep class io.card.payment.CardScanner { *; }
  254. -keep class io.card.payment.DetectionInfo { *; }
  255. -keep class io.card.payment.CreditCard { *; }
  256. # OrmLite.
  257. -dontnote com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper
  258. -keepclassmembers class * extends com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper {
  259. <init>(android.content.Context);
  260. }
  261. -dontnote com.j256.ormlite.field.DatabaseFieldConfig
  262. -keepclassmembers class com.j256.ormlite.field.DatabaseFieldConfig {
  263. <fields>;
  264. }
  265. -dontnote com.j256.ormlite.dao.Dao
  266. -keepclassmembers class * implements com.j256.ormlite.dao.Dao {
  267. <init>(**);
  268. <init>(**, java.lang.Class);
  269. }
  270. -dontnote com.j256.ormlite.android.AndroidLog
  271. -keep class com.j256.ormlite.android.AndroidLog {
  272. <init>(java.lang.String);
  273. }
  274. -dontnote com.j256.ormlite.table.DatabaseTable
  275. -keep @com.j256.ormlite.table.DatabaseTable class * {
  276. void set*(***);
  277. *** get*();
  278. }
  279. -dontnote com.j256.ormlite.field.DatabaseField
  280. -keepclassmembers @interface com.j256.ormlite.field.DatabaseField {
  281. <methods>;
  282. }
  283. -dontnote com.j256.ormlite.field.ForeignCollectionField
  284. -keepclassmembers @interface com.j256.ormlite.field.ForeignCollectionField {
  285. <methods>;
  286. }
  287. -keepclasseswithmembers class * {
  288. @com.j256.ormlite.field.DatabaseField <fields>;
  289. }
  290. -keepclasseswithmembers class * {
  291. @com.j256.ormlite.field.ForeignCollectionField <fields>;
  292. }
  293. -dontnote org.joda.time.DateTime
  294. -keep,allowobfuscation class org.joda.time.DateTime
  295. -keepclassmembers class org.joda.time.DateTime {
  296. <init>(long);
  297. long getMillis();
  298. }
  299. # Couchbase Lite.
  300. -adaptresourcefilecontents META-INF/services/com.couchbase.lite.*
  301. -dontnote com.couchbase.**
  302. -keep class com.couchbase.lite.storage.SQLiteStorageEngine
  303. -keep,allowobfuscation class * implements com.couchbase.lite.storage.SQLiteStorageEngine
  304. -keep,allowobfuscation class * implements com.couchbase.lite.util.Logger
  305. -keep class com.couchbase.touchdb.TDCollateJSON {
  306. int compareStringsUnicode(java.lang.String, java.lang.String);
  307. }
  308. -keep class com.couchbase.lite.router.Router {
  309. com.couchbase.lite.Status *(com.couchbase.lite.Database, java.lang.String, java.lang.String);
  310. }
  311. # Ektorp.
  312. -keep class org.ektorp.** implements java.io.Serializable {
  313. <fields>;
  314. <init>(...);
  315. void set*(***);
  316. *** get*();
  317. boolean is*();
  318. }
  319. -dontnote org.ektorp.support.CouchDbDocument
  320. -keep class * extends org.ektorp.support.CouchDbDocument {
  321. <fields>;
  322. <init>(...);
  323. void set*(***);
  324. *** get*();
  325. boolean is*();
  326. }
  327. # Google API.
  328. -dontnote com.google.api.client.util.Key
  329. -dontnote com.google.api.client.util.Value
  330. -dontnote com.google.api.client.util.NullValue
  331. -keepclassmembers class * {
  332. @com.google.api.client.util.Key <fields>;
  333. @com.google.api.client.util.Value <fields>;
  334. @com.google.api.client.util.NullValue <fields>;
  335. }
  336. # Google GData.
  337. -dontnote com.google.gdata.model.*
  338. -keepclassmembers class * extends com.google.gdata.model.Element {
  339. public static com.google.gdata.model.ElementKey KEY;
  340. public static void registerMetadata(com.google.gdata.model.MetadataRegistry);
  341. }
  342. # Javax.persistence.
  343. -keep,allowobfuscation @interface javax.persistence.*
  344. -keep @javax.persistence.* class *
  345. -keepclassmembers class * {
  346. @javax.persistence.* *;
  347. }
  348. # GSON.
  349. -keep,allowobfuscation @interface com.google.gson.annotations.*
  350. -dontnote com.google.gson.annotations.Expose
  351. -keepclassmembers class * {
  352. @com.google.gson.annotations.Expose <fields>;
  353. }
  354. -keepclasseswithmembers,allowobfuscation,includedescriptorclasses class * {
  355. @com.google.gson.annotations.Expose <fields>;
  356. }
  357. -dontnote com.google.gson.annotations.SerializedName
  358. -keepclasseswithmembers,allowobfuscation,includedescriptorclasses class * {
  359. @com.google.gson.annotations.SerializedName <fields>;
  360. }
  361. -keepclassmembers enum * {
  362. @com.google.gson.annotations.SerializedName <fields>;
  363. }
  364. # Jackson.
  365. -dontwarn org.codehaus.jackson.map.ext.**
  366. -dontnote org.codehaus.jackson.**
  367. -keep,allowobfuscation @interface org.codehaus.jackson.annotate.*
  368. -keep,allowobfuscation @interface org.codehaus.jackson.map.annotate.*
  369. -dontnote org.codehaus.jackson.annotate.JsonAutoDetect
  370. -keepclassmembers @org.codehaus.jackson.annotate.JsonAutoDetect class * {
  371. void set*(***);
  372. *** get*();
  373. boolean is*();
  374. }
  375. -keepclassmembers class * {
  376. @org.codehaus.jackson.annotate.* <methods>;
  377. }
  378. # Realm.
  379. -dontnote io.realm.RealmObject
  380. -keep class * extends io.realm.RealmObject {
  381. void set*(***);
  382. *** get*();
  383. }
  384. -keep class **RealmProxy extends io.realm.RealmObject {
  385. public static <methods>;
  386. }
  387. -dontnote io.realm.ValidationList
  388. -keepclassmembers class io.realm.ValidationList {
  389. public static java.util.List getProxyClasses();
  390. }
  391. -dontnote io.realm.annotations.RealmModule
  392. -keep @io.realm.annotations.RealmModule class *
  393. # Apache logging.
  394. -adaptclassstrings org.apache.commons.logging.LogFactory
  395. # LogBack logging.
  396. -dontnote ch.qos.logback.**
  397. -keep,allowobfuscation class * implements ch.qos.logback.classic.spi.LoggerContextListener
  398. -keep,allowobfuscation class * implements ch.qos.logback.classic.net.ReceiverBase
  399. -keep,allowobfuscation class * implements ch.qos.logback.core.status.StatusListener
  400. -keep,allowobfuscation class * implements ch.qos.logback.core.pattern.DynamicConverter
  401. -keep,allowobfuscation class * implements ch.qos.logback.core.pattern.CompositeConverter
  402. -keep,allowobfuscation class * implements ch.qos.logback.core.joran.action.Action
  403. -keep,allowobfuscation class * implements ch.qos.logback.core.Appender
  404. -keep,allowobfuscation class * implements ch.qos.logback.core.boolex.EventEvaluator
  405. -keep,allowobfuscation class * implements ch.qos.logback.core.status.StatusListener
  406. -keep,allowobfuscation class * implements ch.qos.logback.core.spi.PropertyDefiner
  407. -keepclassmembers class ch.qos.logback.** {
  408. public static ** valueOf(java.lang.String);
  409. }
  410. -keep,allowobfuscation,includedescriptorclasses class * implements ch.qos.logback.classic.selector.ContextSelector {
  411. public <init>(ch.qos.logback.classic.LoggerContext);
  412. }
  413. -adaptresourcefilecontents assets/logback*.xml
  414. # Crashlytics.
  415. -keep class com.crashlytics.** { *; }
  416. -keepresources string/com.crashlytics.android.build_id
  417. # Facebook API.
  418. -dontnote com.facebook.model.GraphObject
  419. -keepclassmembers interface com.facebook.model.GraphObject {
  420. <methods>;
  421. }
  422. # Tapjoy.
  423. -dontnote com.tapjoy.**
  424. -keep class com.tapjoy.TJCOffersWebView
  425. -keep class com.tapjoy.TapjoyFullScreenAdWebView
  426. -keep class com.tapjoy.TapjoyVideoView
  427. -keep class com.tapjoy.TJAdUnitView
  428. -keep class com.tapjoy.mraid.view.ActionHandler
  429. -keep class com.tapjoy.mraid.view.Browser
  430. -dontnote org.json.JSONObject
  431. -keep class com.tapjoy.TJAdUnitJSBridge {
  432. public void *(org.json.JSONObject, java.lang.String);
  433. public void closeRequested();
  434. }
  435. # SQLCipher.
  436. -dontnote net.sqlcipher.**
  437. -keep class net.sqlcipher.CursorWindow {
  438. int nWindow;
  439. }
  440. -keep class net.sqlcipher.database.SQLiteDatabase {
  441. int mNativeHandle;
  442. }
  443. -keep class net.sqlcipher.database.SQLiteProgram {
  444. int nHandle;
  445. int nStatement;
  446. }
  447. -keep class net.sqlcipher.database.SQLiteQuery
  448. -keep class net.sqlcipher.database.SQLiteStatement
  449. -keep class net.sqlcipher.database.* extends java.lang.Exception {
  450. <init>(java.lang.String);
  451. }
  452. -keep class net.sqlcipher.database.SQLiteCompiledSql {
  453. int nHandle;
  454. int nStatement;
  455. }
  456. -keepclassmembers class net.sqlcipher.database.SQLiteDebug$PagerStats {
  457. int memoryUsed;
  458. int largestMemAlloc;
  459. int pageCacheOverflo;
  460. }
  461. -keepclassmembers class net.sqlcipher.** {
  462. native <methods>;
  463. }
  464. # IOCipher.
  465. -dontnote info.guardianproject.libcore.**
  466. -dontnote info.guardianproject.iocipher.**
  467. -keep class info.guardianproject.libcore.io.ErrnoException {
  468. <init>(...);
  469. }
  470. -keep class info.guardianproject.libcore.io.Struct* {
  471. <init>(...);
  472. }
  473. -keepclasseswithmembers class info.guardianproject.libcore.io.* {
  474. native <methods>;
  475. }
  476. -keepclasseswithmembers class info.guardianproject.iocipher.* {
  477. native <methods>;
  478. }
  479. -keep class info.guardianproject.libcore.io.OsConstants {
  480. static <fields>;
  481. }
  482. -keep class info.guardianproject.iocipher.VirtualFileSystem {
  483. java.lang.String dbFileName;
  484. }
  485. -keep class info.guardianproject.iocipher.FileDescriptor {
  486. java.lang.String path;
  487. java.lang.String invalid;
  488. }
  489. # Java mail.
  490. -dontnote javax.mail.*
  491. -keep,allowobfuscation class javax.mail.Session
  492. -keep,allowobfuscation class javax.mail.URLName
  493. -keep,allowobfuscation public class * extends javax.mail.Store {
  494. public <init>(javax.mail.Session, javax.mail.URLName);
  495. }
  496. -adaptresourcefilecontents javamail.default.providers, javamail.*.provider
  497. # Cordova.
  498. -keepresourcefiles res/xml/config.xml
  499. -dontnote org.apache.cordova.NativeToJsMessageQueue$PrivateApiBridgeMode
  500. -dontnote com.squareup.okhttp.internal.Platform
  501. -dontnote org.apache.cordova.App
  502. -keep class org.apache.cordova.App
  503. -dontnote org.apache.cordova.api.CordovaPlugin
  504. -keep public class * extends org.apache.cordova.api.CordovaPlugin
  505. -dontnote org.apache.cordova.CordovaPlugin
  506. -keep public class * extends org.apache.cordova.CordovaPlugin
  507. -dontnote com.phonegap.api.Plugin
  508. -keep public class * extends com.phonegap.api.Plugin
  509. # libGDX.
  510. -dontwarn com.badlogic.gdx.backends.android.AndroidFragmentApplication
  511. -dontwarn com.badlogic.gdx.utils.GdxBuild
  512. -dontwarn com.badlogic.gdx.physics.box2d.utils.Box2DBuild
  513. -dontwarn com.badlogic.gdx.jnigen.BuildTarget*
  514. -dontnote com.badlogic.gdx.Application
  515. -dontnote com.badlogic.gdx.backends.android.AndroidApplicationConfiguration
  516. -keepclassmembers class com.badlogic.gdx.backends.android.AndroidInput* {
  517. <init>(com.badlogic.gdx.Application, android.content.Context, java.lang.Object, com.badlogic.gdx.backends.android.AndroidApplicationConfiguration);
  518. }
  519. -dontnote com.badlogic.gdx.physics.box2d.World
  520. -keepclassmembers class com.badlogic.gdx.physics.box2d.World {
  521. boolean contactFilter(long, long);
  522. void beginContact(long);
  523. void endContact(long);
  524. void preSolve(long, long);
  525. void postSolve(long, long);
  526. boolean reportFixture(long);
  527. float reportRayFixture(long, float, float, float, float, float);
  528. }
  529. # Nuance Vocalizer.
  530. -dontnote com.nuance.android.vocalizer.**
  531. -keep class com.nuance.android.vocalizer.VocalizerEngine {
  532. <fields>;
  533. *** speechMarksReceived(...);
  534. *** audioSamplesReceived(...);
  535. *** openAssetFile(...);
  536. *** closeAssetFile(...);
  537. *** stop(...);
  538. }
  539. -keep class com.nuance.android.vocalizer.VocalizerSpeechMark { <fields>; }
  540. -keep class com.nuance.android.vocalizer.VocalizerVersion { <fields>; }
  541. -keep class com.nuance.android.vocalizer.VocalizerVoice { <fields>; }
  542. -keep class com.nuance.android.vocalizer.internal.VocalizerFileInfo { <fields>; }
  543. -keep class com.nuance.android.vocalizer.internal.VocalizerResourceInfo { <fields>; }
  544. -keep class com.nuance.android.vocalizer.internal.VocalizerStatusInfo { <fields>; }
  545. # Enumerations.
  546. -keepclassmembers enum * {
  547. public static **[] values();
  548. public static ** valueOf(java.lang.String);
  549. }
  550. # Adapt native libraries content.
  551. -adaptresourcefilecontents lib/**.so
  552. # Serializable classes.
  553. -keepclassmembers class * implements java.io.Serializable {
  554. private static final java.io.ObjectStreamField[] serialPersistentFields;
  555. private void writeObject(java.io.ObjectOutputStream);
  556. private void readObject(java.io.ObjectInputStream);
  557. java.lang.Object writeReplace();
  558. java.lang.Object readResolve();
  559. }