Google Play Developer Console のクラッシュと ANR

タカラモノデイズという Android のアプリケーションをリリースして、約1ヶ月経過した。タカラモノデイズは、赤ちゃんや子供、ペット、植物の成長記録を、スマートフォンで毎日簡単に作成できるアプリケーションで、成長記録は、写真にタイトルとメモをつけて残すことができるほか、その日の体調や、食事や排泄の回数を簡単に記録できるようにしている。機能的には難しいところはなさそうなのだが、Android は機種によって環境がまちまちなので、テストをしていると VM Heap が少ない機種では OutOfMemory が出てしまうこともあった。可能な限り、多くのテスト環境を作って試してみているが、クラッシュしてしまう機種もあるに違いない。

クラッシュした場合、Google Play Developer Console のクラッシュと ANR で自動的にわかるものだと思ってた(ANR は、Application Not Responding の略)。少し考えれば、自動的にエラーレポートが送られてくるわけがないことは分かるのだが、ずっと0件だったので気にしていなかった。

先日アップデートしたので、自分の Android 端末にインストールして試していたらクラッシュしてしまった。クラッシュするタイミングは、Android のデフォルトの言語を日本語から英語に変更した時なので、レアケースではあるが、リリースバージョンでバグが残っているのは好ましくない。
デバッグリリースであれば、LogCat で Exception の内容を確認したり、ステップ実行できるので、バグの発生箇所はすぐ分かるのだが、リリースバージョンの場合はできない。バグが出て慌てていたが、少し落ち着いて画面を見ると・・・

Android エラーレポート

クラッシュしたことを告げる無情なダイアログの下に、「Report」の文字がある。いつも無条件に「Force close」を押していたが、これが Google Play Developer Console のクラッシュと ANR にレポートするためのボタンだった。早速「Report」を押してみると・・・

Android エラーレポート詳細

メモとシステムデータを送信してくれるようだ。早速送信して、Google Play Developer Console で確認してみた。

Google Play Developer Console クラッシュと ANR

例外が表示されている箇所がリンクになっており、クリックするとスタックトレースを見ることができる。ProGuard を使っているのでわかりにくくなっているが、例外の発生箇所はだいたい分かる。残念なのは、クラッシュしたシステムの情報を表示できないことだ。システムデータを送信したはずなのだが、Google Play Developer Console で表示する箇所がないようだ。バグの原因は分かったので、早々にバグフィックスしてアップデートをリリースします。

タカラモノデイズのiPhone 版はこちら


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.