mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-22 10:52:10 +00:00
Fix: R8 exclusion of serializables
This commit is contained in:
parent
0df16343db
commit
bb2a05d1e5
27
proguard.pro
vendored
27
proguard.pro
vendored
@ -3,3 +3,30 @@
|
|||||||
# Disable ServiceLoader reproducibility-breaking optimizations
|
# Disable ServiceLoader reproducibility-breaking optimizations
|
||||||
-keep class kotlinx.coroutines.CoroutineExceptionHandler
|
-keep class kotlinx.coroutines.CoroutineExceptionHandler
|
||||||
-keep class kotlinx.coroutines.internal.MainDispatcherFactory
|
-keep class kotlinx.coroutines.internal.MainDispatcherFactory
|
||||||
|
|
||||||
|
# Keep `Companion` object fields of serializable classes.
|
||||||
|
# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects.
|
||||||
|
-if @kotlinx.serialization.Serializable class **
|
||||||
|
-keepclassmembers class <1> {
|
||||||
|
static <1>$Companion Companion;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keep `serializer()` on companion objects (both default and named) of serializable classes.
|
||||||
|
-if @kotlinx.serialization.Serializable class ** {
|
||||||
|
static **$* *;
|
||||||
|
}
|
||||||
|
-keepclassmembers class <2>$<3> {
|
||||||
|
kotlinx.serialization.KSerializer serializer(...);
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keep `INSTANCE.serializer()` of serializable objects.
|
||||||
|
-if @kotlinx.serialization.Serializable class ** {
|
||||||
|
public static ** INSTANCE;
|
||||||
|
}
|
||||||
|
-keepclassmembers class <1> {
|
||||||
|
public static <1> INSTANCE;
|
||||||
|
kotlinx.serialization.KSerializer serializer(...);
|
||||||
|
}
|
||||||
|
|
||||||
|
# @Serializable and @Polymorphic are used at runtime for polymorphic serialization.
|
||||||
|
-keepattributes RuntimeVisibleAnnotations,AnnotationDefault
|
Loading…
x
Reference in New Issue
Block a user