問題
Composeの1.1.0を使用するために、Kotlin1.5.21から1.6.10に変更した所、Jacksonのパースでエラーが発生するようになりました。
どうやら、Kotlin1.6ではkotlinx-metadataが0.2ではなく、0.3が必要なようです。
https://issuetracker.google.com/issues/207397158
build toolの対応
以下のbuild toolを使用しています。
classpath("com.android.tools.build:gradle:7.1.2")
記述時点での最新のr8を指定が必要でした。
classpath("com.android.tools:r8:3.1.51")
Jacksonの設定
最新のr8コンパイラを使用するだけではだめで、更に難読化の設定を変更する必要がありました。
今までのKotlin1.5.21ではkeeppackagenamesの記述は必要では無かったのですが、これを追加しました。
consumer-rules.pro (モジュールに分けているのでこのファイル名)
proguard-rules.pro モジュールとか分けていないならこっち。
# jsonパースに利用してるクラス
-keep class com.example.element.** { *; }
# パースを行っている部分
-keeppackagenames com.example.api.**
-keepclassmembers class * {
@com.fasterxml.jackson.annotation.* *;
}
-keep class com.fasterxml.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
おわりに
とりあえず今はこれで動いています。