App Bundleでリリースしたものの、Navigationのタイミングで即死するトラブルが発生。
Play Consoleのクラッシュログは以下の通り。
java.lang.RuntimeException: at android.view.animation.AnimationUtils.createAnimationFromXml (AnimationUtils.java:160) at android.view.animation.AnimationUtils.createAnimationFromXml (AnimationUtils.java:127) at android.view.animation.AnimationUtils.loadAnimation (AnimationUtils.java:108) at androidx.fragment.app.FragmentAnim.loadAnimation (FragmentAnim.java:2) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState (FragmentManager.java:6) at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java) at androidx.fragment.app.FragmentManager.executeOpsTogether (FragmentManager.java:19) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute (FragmentManager.java) at androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:4) at androidx.fragment.app.FragmentManager$4.run (FragmentManager.java) at android.os.Handler.handleCallback (Handler.java:751) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:159) at android.app.ActivityThread.main (ActivityThread.java:6139) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776)
デバッグ時は、リリースビルドを使っても全く問題のないアプリである。
デバイス上のフィードバックの送信では、
java.lang.RuntimeException Unknown animation name: x
で落ちていることが判明。
xって何よ???
アニメーションに関する、リソースかクラスが見つからなくて落ちてるっぽい。
難読化をやめるために
minifyEnabled = false
にしてしまえばコード圧縮・リソース圧縮も無効になるため、当然上記の例外は検出されなくなってしまう。
できたら、Proguardのルールを追加して解決したいため、今回は難読化だけを解除してみる。
#全クラスの難読化無効? #-keepnames class ** {*;} #もっとシンプルで完全な難読化無効スイッチ -dontobfuscate
これで、デバッグが捗りそう・・・
追記:上記トラブル解決編