- AndroidStudio 3.6 系が正式にリリースされましたね。
- その際以下の問題に問題にぶちあたったので、情報を残しておきます。
問題動作
- Android Studio 3.6 系にアップデート
- Android StudioからのDebug実行は問題なく動作
- Releaseビルドして実行
- あれ?なんだか動かないぞ
- あれ?なんだか動かないぞ
問題点
- アプリ起動時によくあるAPIから
json
取得し、クラスオブジェクトに変換といった処理で以下のExceptionが出ている。
Caused by java.lang.NoSuchMethodException
parameter type is null
とりあえずの対策
-
jackson
やMoshi
といった JsonPerser のOSSで議論されており、現状の対応としては以下の対応を入れることで回避できました。
proguard-rules.pro
-keep class kotlin.Metadata { *; }
本対策は?
- 使用しているOSSで議論されており、OSSの更新が必要なのか、
R8
を更新すれば問題が発生しなくなるのかは、検討中のようです。 - 使用しているOSSの動向をチェックして対応していきましょう。
参考
https://github.com/square/moshi/issues/1049
https://medium.com/@AthorNZ/kotlin-metadata-jackson-and-proguard-f64f51e5ed32
それでは、楽しいアプリ開発を