*本記事は旧TechblogからCOLORSに統合した記事です。

目次

  1. はじめに
  2. 前提条件(用意するもの)
  3. 実際にAndroidログを取得してみよう
  4. Android Debug Bridge
  5. まとめ

はじめに

こんにちは。

私は新卒の未経験SEとして入社したKです。
早いもので入社して半年程経ちました。

3ヶ月研修をみっちりやってきたり、先輩から沢山の事を学んで来ましたが、
まだまだわからないことだらけです。
ですが毎日色々な事を吸収できています!!

話は変わりますが
最近、業務でこんな事がありまして

Android開発中・・・ 

////謎のクラッシュ発生////
( ゚д゚)
経験不足である私には何が起きているのかサッパリでした…。

現場の先輩に聞いたところ、どうやら 

「Android端末でのクラッシュログの確認」 が必要らしい。 
一体どうやって確認すればいいんだろう????

そんなことで今回の記事では
「Androidでのログの取り方」
について学んでいきたいと思います!


前提条件(用意するもの)

それでは実際にログを取ってみましょう。 
何が必要なのかな???? 

・クラッシュが起こるAndroidアプリ 
・PC 
・端末(Android)
・Androidに対応したUSBケーブル
・adb(Android Debug Bridge)
・適当なテキストエディタ(今回はサクラエディタを使っています。)


実際にAndroidログを取得してみる

ログを取得する為にはまず端末側の設定を行います。
まず端末を開発者モードしましょう。

設定→システム→端末情報→ビルド番号
ビルド番号を連打すると開発者モードになります。



次に端末情報に戻ると、開発者モードが追加されていると思うので、開発者モードを選択します。

USBデバッグを許可する。



これで端末の設定は完了です。
さて次はPCとクラッシュが起きたAndroid端末を繋ぎます。



ここでadbのインストールが必要になります。


そもそもadbとはなんなのか?と言いますと…


色々な機能がありますが


とりあえず今は要するに、
Androidの実機に対し、通常の設定からは行えないような指示を与えることの出来るツールの一つ
と、考えるといいかなと思います。

それではadbのダウンロードから。
ダウンロードはコチラ



ダウンロードしたら展開して
C直下に配下してください。

Windowsスタートメニューの検索からcmdと入力し、コマンドプロンプトを管理者として実行します。

コマンドプロンプトを開いたら、Adb直下

cd c:\adb

に移動します。

それでは実際にログを取得してみましょう。

adb logcat –v threadtime > c:\log.txt

というコマンドを打ち込むとログの取得が開始されます。

するとC直下にlog.txt
が作成されます。

ここからはサクラエディタを使用します。
log.txtを開くとこのように端末のログを取得することが出来ました。


でもこれだとあまりに情報量が多すぎて、どこを参照すればいいかわかりませんよね…。

クラッシュしたlogを見つけるには条件抽出する必要がありますね。
サクラエディタでの検索を使います。
WindowsだとCtrl+Fで検索画面に飛びます!
「crash」
というキーワードで検索すれば見つかりそうですね。

beginning of crash
とても親切にクラッシュが始まっているところを教えてくれていましたね。

こうしてログを取得することが出来ました。
さあこれでようやく、クラッシュの原因がわかりそうですね。
画像の右下の方を見ると
java.lang.IllegalStateException
とありますね。
これで原因をつかむことに成功しました。


ADB(AndroidDebugBridge)

このようにadbを使うことによって通常の設定からは行えないような指示を端末に送り、どこでクラッシュが起きているのかすぐわかりましたね!
最初にザックリと説明しましたがadbは
デバイスと通信するための多用途コマンドラインツールです。
今回紹介した例以外にもさまざまなデバイス操作が実行できます!

・システムUIの調整
・ Firebaseでのデバッグモードの有効化
・PC操作でアプリをインストール
・PC操作でアプリをアンインストール
・apkファイルのダウンロード
・Androidをroot化

上記であげたのは一例でこれだけの高度な指示を送ることが
できます!
ビジネス以外にでもAndroidユーザーであれば
便利にカスタマイズして、より自分に合った仕様に出来ますね。
私もAndroidユーザーなので、家でadbを使い自分の端末をカスタマイズしたいです!


まとめ

Adbを使って大量のログの中から
どこでクラッシュしたのかがすぐにわかりましたね!!


以上、新卒未経験SEのAndroidログ取得でした。
是非ご参照ください。