CatHand Blog

アプリ開発やMac弄り

Jetpack ComposeでminifyEnabled trueにするとクラッシュ

最近はJetpack ComposeでAndroidアプリ作っているんですが、 minifyEnabled true にするとCompose内でクラッシュする現象に悩まされました。

デバッガとかで見れないので、Firebase Crashlyticsでログを見ると、以下のようなExceptionで死んでいました。

Fatal Exception: java.lang.IllegalStateException: pending composition has not been applied

該当Composeファンクション内の要素を一個づつ減らしていって原因を探りました。どうやらComposeファンクションに渡しているdata class内の特定のパラメータにアクセスするとダメらしい。

なので、proguardから該当data classを除外してみました。めんどいのでモデルパッケージ以下全部除外。

-keep class com.hogehoge.app.core.model.** { *; }

これで直りました。エラーメッセージから原因予想できず、1日くらいハマりました。