Something went wrong. Try again.
Something went wrong. Try again.
1.8 kB · 41 lines
at main
123456789101112131415161718192021222324252627282930313233343536373839404142# kotlinx.serialization## The generated $$serializer classes are referenced only reflectively, so R8# strips them without an explicit keep and every decode fails at runtime with a# SerializationException — release-only, and invisible until the feed comes back# empty on a signed build.-keepattributes *Annotation*, InnerClasses-dontnote kotlinx.serialization.**
-keep,includedescriptorclasses class social.grain.**$$serializer { *; }-keepclassmembers class social.grain.** { *** Companion;}-keepclasseswithmembers class social.grain.** { kotlinx.serialization.KSerializer serializer(...);}
# The models are the serialized surface; keep their fields so names survive.-keep class social.grain.data.model.** { *; }-keep class social.grain.data.api.** { *; }-keep class social.grain.data.upload.GalleryDraft { *; }-keep class social.grain.data.upload.GalleryDraft$* { *; }-keep class social.grain.data.auth.StoredAccount { *; }
# OkHttp-dontwarn okhttp3.**-dontwarn okio.**
# H3 (com.uber:h3-android)## libh3-java.so finds its Java side by name and the aar ships no consumer rules,# so R8 is free to rename the very classes the native code looks up. JNI_OnLoad# calls FindClass on `com/uber/h3core/util/LatLng` and# `com/uber/h3core/exceptions/H3Exception`, and the 63 entry points are bound# implicitly as `Java_com_uber_h3core_NativeMethods_*` — a rename breaks either# path. What comes back is not an exception but a JNI abort: SIGABRT with# "java_class == null in call to GetMethodID", which kills the process outright.# LocationServices wraps H3 in runCatching precisely because it expects H3 to be# absent on some devices, and that cannot catch a native abort.-keep class com.uber.h3core.** { *; }-dontwarn com.uber.h3core.**