こんにちは。 最近仕事ではAndroidを使う機会が多いtkです。
Workspace ONE で管理されたAndroidで不具合が発生した際に、しばしばデバイス側のログが必要になる(サポートから求められる)場合があります。
デバイスログとWorkspace ONEのログ両方を照らし合わせることで、より詳細な状況が確認できるようになるわけです。
今回はAndroidのデバイスログの取得方法をご紹介します。
※Google Pixcel6 (Android11)にて検証
【ADBログとは】
ADBは「Android Debug Bridge」の略で、Android デバッグのためのコマンドラインツールになります。ADBコマンドでは、アプリのインストールやファイルの送受信、デバイス情報の取得など様々なことが可能です。
ADBコマンドでデバイスから取得するログを、ADBログと呼んでいます。
デバイスログと呼ばれるlogcatによるログ取得や、バグレポートによるログ取得があります。
【ADBログ取得の事前準備】
ADB ツール (adb.exe) の準備
ADBコマンドを実行するために、以下手順でツールを用意します。
①Google Developers サイトから、ADB ツール (adb.exe) を含む SDK Platoform Tools をダウンロード
②ダウンロードしたzipファイルを任意のフォルダに展開
③コマンドプロンプトを起動し、以下コマンドでPATHを設定
$set PATH=%PATH%;C:\HogeHoge
デバッグモード有効化
①設定>デバイス情報 をタップし、[ビルド番号]を7回タップする
②開発者オプションが有効になったというメッセージが表示される
③設定>システム>開発者オプション にて、USBデバッグを有効にする
※制限プロファイルを適用している場合、「同期およびストレージ」内にある「USBのデバッグを許可」「USBファイル転送を許可する」を許可しておく必要があります
【ADBコマンドを実行してログを取得】
①USBケーブルでAndroidデバイスとPCを接続する
以下画面が表示される場合には「許可」を選択する
②コマンドプロンプトを開き、「adb devices」コマンドを実行する
コマンド実行後、以下のようにAndroidデバイスのシリアル番号が表示される。
「device」の部分が「unauthorized」となっている場合には、再度①の許可を選択する。
C:\>adb devices
List of devices attached
1C141FDF600A50 device
③以下コマンドを実行してログを取得する。ログの出力先、ファイル名は任意。
C:\>adb logcat -v time *:V > C:\tmp\logcat.txt
④Android デバイス上で問題の現象を再現し終えたら、PCでCtrl+Cキーを押してログの収集を終了する。
【ADBコマンドを実行してバグレポートを取得】
Androidのバグレポートには、locatの情報に加えてdump情報が含まれるらしいです。
こちらもサポートから取得を求められる場合があるので、コマンドを残しておきます。
C:\>adb bugreport C:\tmp
指定したフォルダにzipファイルが作成されます。
【まとめ】
Androidアプリ開発とかされている方以外は、なかなか触ることがないのがADBコマンドだと思います。
私もまだまだ慣れていないので、ちょくちょく手順を確認しています。笑
最後に自分の振り帰り用に参考サイトをまとめて終わります。
■参考サイト
ADB を使用した Android デバイス ログの収集 (2961621) (vmware.com)
Android デバイスからのログの収集 (2960948) (vmware.com)
バグレポートをキャプチャして読み取る | Android Studio | Android Developers
バグレポートを読む | Android オープンソース プロジェクト | Android Open Source Project



