問題
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.** { *; }
おわりに
とりあえず今はこれで動いています。