2019 年ごろ購入した docomo キャリアで購入した Android 端末でアプリが頻繁にクラッシュすると相談を受けた。
調査/改善したため対応ログをまとめます。
相談時の現象
Android 8.1
- 前日にはふつうに使えていた。
- アプリが頻繁にクラッシュする前後に特殊な操作はした覚えがない。
- よくクラッシュするアプリと現象は以下だった。
- LINE(SNS):アプリを開いて数秒は動作するがそのあとクラッシュ
- ツムツム(ゲームアプリ): スプラッシュ画面が出る前にクラッシュ
- ほかのアプリもクラッシュしていたが、上記アプリよりひどくなかった
- 再起動は相談前に数回していて改善しなかった。
- 「設定」→「ストレージ」でストレージは合計128GB で空きは 8GBだったので満タン付近だった。
- 「設定」→「ストレージ」→「メモリ」で3時間の平均メモリ使用量が合計 6GB、使用 2.5GBなことを確認した。
- 設定アプリはふつうに動いていた。
- 開発向けオプションは有効になっていない。(使っていたのはエンジニアではなく特殊な設定はしてなさそう)
対応時系列
- 再起動を自分でも2回行って改善しなかった。
- 「設定」→「アプリ」→「すべてのアプリ」でシステムアプリ含めてアプリ名とストレージサイズを中心にすべて眺めて、変なものがないか確認した。パッと見で怪しいものはなかった。
- アプリ名/バンドルIDで通信キャリア系のものだと判断したものについて、検索してみた。パッと見で怪しいものはなかった。
- 開発向けオプションを有効にして、USBデバッグを有効にした。
-
adb logcat
の確認を始めた。ActivityManager
で LINEのProcess 〜 has died
のログが出ていた。これはアクティビティがキルされるときのログです。 -
adb logcat | grep died
していたら Google Play 開発者サービス(com.google.android.gms.persistent)が数秒おきにクラッシュしていたことを確認できた。ログは後述しています。 - 「設定」→「アプリ」から Google Play 開発者サービスを無効化、再インストールした。
- よくクラッシュしていたアプリで動作確認した。クラッシュしなくなったことを確認した。
感想など
調べたら「Goole Play 開発者サービス」が不調の原因になるのはよくある?
自端末で以前「Goole Play 開発者サービス」関連のエラーメッセージを見たことはあったが、今回はエラーメッセージが出ていなかった。
相談のトラブルシューティングで logcat を使うことになるかと思わなかったが、役に立ってとてもうれしかった。
発生原因はつかめず端末が古いこともあり、買い替えを検討するよう案内した。LINEなどのバックアップが安心できる状態に改善できたのはよかった。
logcat ログ
Process 〜 has died
のログで検索してもあまり見つからなかったためログを残します。
$ adb logcat | grep died
...
07-23 22:09:57.864 1051 6240 I ActivityManager: Process com.google.android.gms.persistent (pid 18434) has died: fore BFGS
07-23 22:10:01.281 1051 6240 I ActivityManager: Process com.google.android.gms.persistent (pid 18567) has died: fore RCVR
07-23 22:10:02.367 1051 6240 I ActivityManager: Process com.google.android.gms.persistent (pid 18629) has died: fore BFGS
07-23 22:10:05.142 1051 3597 I ActivityManager: Process com.google.android.gms.persistent (pid 18695) has died: fore BFGS
07-23 22:10:08.676 1051 2188 I ActivityManager: Process com.google.android.gms.persistent (pid 18905) has died: fore IMPB
07-23 22:10:09.660 1051 2188 I ActivityManager: Process com.google.android.gms.persistent (pid 18962) has died: fore BFGS
数秒おきにクラッシュしていた。
fore 以降の情報は検索してみたがわからなかった。なのでクラッシュしていた原因は不明のまま。