12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- -dontobfuscate
- # Keep extension's common dependencies
- -keep,allowoptimization class eu.kanade.tachiyomi.** { public protected *; }
- -keep,allowoptimization class androidx.preference.** { *; }
- -keep,allowoptimization class kotlin.** { public protected *; }
- -keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
- -keep,allowoptimization class okhttp3.** { public protected *; }
- -keep,allowoptimization class okio.** { public protected *; }
- -keep,allowoptimization class rx.** { public protected *; }
- -keep,allowoptimization class org.jsoup.** { public protected *; }
- -keep,allowoptimization class com.google.gson.** { public protected *; }
- -keep,allowoptimization class com.github.salomonbrys.kotson.** { public protected *; }
- -keep,allowoptimization class com.squareup.duktape.** { public protected *; }
- -keep,allowoptimization class app.cash.quickjs.** { public protected *; }
- -keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
- ##---------------Begin: proguard configuration for RxJava 1.x ----------
- -dontwarn sun.misc.**
- -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
- long producerIndex;
- long consumerIndex;
- }
- -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
- rx.internal.util.atomic.LinkedQueueNode producerNode;
- }
- -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
- rx.internal.util.atomic.LinkedQueueNode consumerNode;
- }
- -dontnote rx.internal.util.PlatformDependent
- ##---------------End: proguard configuration for RxJava 1.x ----------
- ##---------------Begin: proguard configuration for Gson ----------
- # Gson uses generic type information stored in a class file when working with fields. Proguard
- # removes such information by default, so configure it to keep all of it.
- -keepattributes Signature
- # For using GSON @Expose annotation
- -keepattributes *Annotation*
- # Gson specific classes
- -dontwarn sun.misc.**
- # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
- # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
- -keep class * extends com.google.gson.TypeAdapter
- -keep class * implements com.google.gson.TypeAdapterFactory
- -keep class * implements com.google.gson.JsonSerializer
- -keep class * implements com.google.gson.JsonDeserializer
- # Prevent R8 from leaving Data object members always null
- -keepclassmembers,allowobfuscation class * {
- @com.google.gson.annotations.SerializedName <fields>;
- }
- ##---------------End: proguard configuration for Gson ----------
- ##---------------Begin: proguard configuration for kotlinx.serialization ----------
- -keepattributes *Annotation*, InnerClasses
- -dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations
- # kotlinx-serialization-json specific. Add this if you have java.lang.NoClassDefFoundError kotlinx.serialization.json.JsonObjectSerializer
- -keepclassmembers class kotlinx.serialization.json.** {
- *** Companion;
- }
- -keepclasseswithmembers class kotlinx.serialization.json.** {
- kotlinx.serialization.KSerializer serializer(...);
- }
- -keep,includedescriptorclasses class eu.kanade.tachiyomi.**$$serializer { *; }
- -keepclassmembers class eu.kanade.tachiyomi.** {
- *** Companion;
- }
- -keepclasseswithmembers class eu.kanade.tachiyomi.** {
- kotlinx.serialization.KSerializer serializer(...);
- }
- -keep class kotlinx.serialization.**
- -keepclassmembers class kotlinx.serialization.** {
- <methods>;
- }
- ##---------------End: proguard configuration for kotlinx.serialization ----------
|