【ReactNative】Expo製アプリが本番でのみクラッシュする問題を調査・解決した。【adb logcat】コマンドの使い方メモ
状況
原因追求方法
adb logcat
を使った。
adb logcatとは
adbコマンドは、 Android Debug Bridgeの略でデバイスと通信するためのコマンドです。今回のように実際に目の前の端末内で何がおきてるのかを知りたい場合のデバッグに重宝します。
adb logcat
コマンドは、その名の通りlogをcat(catenate)するコマンドで、接続した端末ののデバイスログを表示できます。
adb logcatの使い方
- Android端末をUSBでつなぐ
adb devices
でちゃんと端末が認識されているか確認するadb logcat -c
で一旦ログをクリアする(しなくても良いが、該当ログを発見しやすくするためにやっておく)adb logcat
でログを表示する
といった流れ。
adbコマンドを実行しても「waiting for device」と表示されて何も進まない場合は、 - adb kill-server - adb start-server して再起動するとうまくいきました。
参考: [Android] USBデバッグモードで端末が認識しないとき/adb installが「waiting for device」から進まないときの対処法
備考・コツ
adb logcat
の結果を見るだけだと調査しにくいので、adb logcat > log.txt
のようにしてからファイルを調べるとおくと落ち着いて調査できます。
Android端末が認識されない場合
らへんの問題に関しては別で記事を書きます。