この記事は、業界未経験者の方向けの記事となっています。
目次
- はじめに
- 前提条件(用意するもの)
- 実際にAndroidログを取得してみよう
- Android Debug Bridge
- まとめ
1. はじめに
こんにちは。
私は新卒未経験のSEとして入社した、櫛引大樹と申します。
早いもので入社して半年程経ちました。
3ヶ月研修をみっちりやってきたり、先輩から沢山の事を学んで来ましたが、
まだまだわからないことだらけです。ですが毎日色々な事を吸収できています!!
話は変わりますが最近、業務でこんな事がありまして
Android開発中・・・
////謎のクラッシュ発生////
( ゚д゚)
経験不足である私には何が起きているのかサッパリでした…。
現場の先輩に聞いたところ、
どうやら 「Android端末でのクラッシュログの確認」が必要らしい・・・
一体どうやって確認すればいいんだろう???
そんなことで今回の記事では
「Androidでのログの取り方」
について学んでいきたいと思います!
2. 前提条件(用意するもの)
それでは実際にログを取ってみましょう。
何が必要なのかな????
・クラッシュが起こるAndroidアプリ
・PC
・端末(Android)
・Androidに対応したUSBケーブル
・adb(Android Debug Bridge)
・適当なテキストエディタ(今回はサクラエディタを使っています。)
3. 実際にAndroidログを取得してみる
ログを取得する為にはまず端末側の設定を行います。
まず端末を開発者モードしましょう。
設定→システム→端末情報→ビルド番号
ビルド番号を連打すると開発者モードになります。
次に端末情報に戻ると、開発者モードが追加されていると思うので、
開発者モードを選択します。
USBデバッグを許可する。
これで端末の設定は完了です。
さて次はPCとクラッシュが起きたAndroid端末を繋ぎます。
ここでadb(Android Debug Bridge)のインストールが必要になります。
そもそも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
とありますね。
これで原因をつかむことに成功しました。
4. adb(AndroidDebugBridge)
このようにadbを使うことによって通常の設定からは行えないような指示を端末に送り、どこでクラッシュが起きているのかすぐわかりましたね!
最初にザックリと説明しましたがadbは、デバイスと通信するための多用途コマンドラインツールです。今回紹介した例以外にもさまざまなデバイス操作が実行できます!
・システムUIの調整
・ Firebaseでのデバッグモードの有効化
・PC操作でアプリをインストール
・PC操作でアプリをアンインストール
・apkファイルのダウンロード
・Androidをroot化
上記であげたのは一例でこれだけの高度な指示を送ることができます!
ビジネス以外にでもAndroidユーザーであれば便利にカスタマイズして、より自分に合った仕様に出来ますね。私もAndroidユーザーなので、家でadbを使い自分の端末をカスタマイズしたいです!
5. まとめ
adbを使って大量のログの中からどこでクラッシュしたのかがすぐにわかりましたね!!
以上、新卒未経験SEのAndroidログ取得でした。
ご参考になれば幸いです。
COLORS by m/f は、AIを武器に企業のDX推進をサポートする
株式会社エム・フィールドとグループ会社の情報満載のオウンドメディアです。
挑戦者求む!
エム・フィールドグループでは、新卒・中途採用を積極的に行なっています。
Webアプリケーションエンジニア、Python開発プロジェクトリーダー、
クラウドエンジニア、セールスエンジニア、営業ルートセールス、
ネットワークエンジニア、PM/PL候補システムエンジニアを募集しております。
https://www.ambl.co.jp/recruit/
新卒採用情報はこちら!
https://job.mynavi.jp/22/pc/search/corp200590/outline.html
D X、A I、クラウドに関する企業研修、新卒研修を提供しています。
未経験からIT業界へ。働きながらキャリアチェンジができる。
次世代I T人材を未経験から育てるトレーニングセンターを開講しています。
ただいま「5日間お試し授業」実施中。
https://www.ambl.co.jp/recruit/trainingcenter/trial/