Android Studio, Gradle, SDK のアップデートで避けては通れない。
いろいろ悩む前に、通信周りは R8 の変化を気にしおくといい、
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
👉 gson/examples/android-proguard-example/proguard.cfg at main · google/gson
ここらは、Gson 以外の JSON パーサーにも似たようなことが言える。
Retrofit を使ってる方は、必須の注意事項。
どんなライブラリよりも先に疑った方がいい。
Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /app/build/outputs/mapping/debug/missing_rules.txt https://t.co/EQlKzX1qy2 #プログラミング #kotlin
— chanzmao (@maochanz) August 25, 2023