Androidでバグ報告用のLogcatを入手・活用する方法|ADBの設定からログ出力まで
Androidは、ユーザーから技術的な詳細をうまく隠してくれるOSです。Macのように、問題が発生した際に暗号のようなテキストが画面にずらりと並ぶことはありません。ただ静かに……問題が起きるだけです。

ほとんどの人にとってこれは快適な仕様ですが、アプリが動かない原因を知りたい開発者や、より踏み込んだ操作をしたいパワーユーザーにとっては、必ずしも便利とは言えません。
そこで役立つのが「logcat」です。logcatを使えば、スマホやタブレットのシステムログをダンプ(書き出し)して、問題のデバッグを行えます。一般ユーザーが使う機会は少ないものの、トラブル発生時に開発者から「端末のログファイルを送ってほしい」と依頼されることもあります。この記事では、logcatのインストール方法と基本的な使い方を解説します。
Logcatを入手する
システムログを出力する前に、まず前提条件を整える必要があります。最初のステップは「Android Debug Bridge」(通称ADB)のインストールです。LogcatツールはこのADBに含まれています。
Macユーザーなら、Homebrewパッケージマネージャーを使うのが最も簡単です。Homebrewを導入済みであれば、ターミナルで「brew install android-platform-tools」を実行するだけでOKです。

Linuxの場合、ADBのインストール手順はディストリビューションによって大きく異なります。Ubuntuであれば、「sudo apt-get install android-tools-adb」を実行するだけでインストールできます。
Windowsユーザーには主に2つの選択肢があります。1つ目は、XDADevelopersが公開しているワンクリックADBインストーラーです。必要なドライバーとFastbootも同梱されています。もう1つはChocolateyパッケージマネージャー経由でのインストールですが、こちらは最新バージョンではない点に注意してください。
端末を開発者モードに切り替える
次に、Android端末側で開発者モードを有効にします。「設定」を開き、「端末情報」(または「タブレット情報」)へ進みましょう。画面を一番下までスクロールし、「ビルド番号」を7回連続でタップします。すると、「開発者モードになりました」といったメッセージが表示されるはずです。

戻るボタンで設定のトップ画面に戻ると、「開発者向けオプション」という項目が追加されているので、それをタップします。

続いて「USBデバッグ」をオンにし、Android端末をPCに接続します。すべて正しく設定できていれば、端末に警告ダイアログが表示されます。

ログを確認する
これで準備完了です。新しいターミナルまたはコマンドプロンプトを開き、「adb logcat」を実行しましょう。システムメッセージが次々とターミナル上に流れていくはずです。何も表示されない場合は、どこかで問題が起きています。端末がPCに接続されていないか、ADBが正しくインストールされていないか、端末側でUSBデバッグが有効になっていないかのいずれかです。

では、システムメッセージを後で分析できるようテキストファイルに保存したい場合はどうすればいいのでしょうか? 実は、出力のリダイレクト構文はWindowsでもMacでも共通です。「adb logcat > textfile.txt」を実行するだけでOKです。また、「adb logcat -f ファイル名」という形式でも同じことが可能です。
ログファイルが手に入ったら、Sed・Awk・Grepなどのツールで解析したり、依頼された開発者にそのまま送ったりできます。
ここで注意すべき点があります。logcatは、止めるように指示しない限り実行され続けます。出力をテキストファイルに保存している状態で接続を切断し忘れると、気がつけばストレージ容量が逼迫していることも珍しくありません。終了するには「CTRL-C」を押しましょう。
DevOpsやシステム管理の経験がある人なら誰でも言うように、ログファイルはあっという間に数十ギガバイト、それ以上に膨れ上がることがあります。十分ご注意ください。
出力のフィルタリングについて
logcatでは、特定の種類の出力を優先的に表示することもできます。たとえば「V」フラグ付きで実行すると(adb logcat V)、すべてのログが表示されます。これは「verboseモード(詳細モード)」が有効になるためです。

それ以外にも、より具体的なエラーメッセージを表示するオプションがあります。「I」はinfo(情報)のみ、「D」はdebug(デバッグ)メッセージのみを表示します。詳しくは、Android Debug Bridgeの公式ドキュメントを参照してください。
ただし、特別な指示がない限り、logcatはデフォルト設定で実行するのがベストです。ログファイルを依頼した人が、アプリを修正するために必要な情報を漏れなく受け取れるようにするためです。
root化済み端末向けのソリューションはある?
実は、あります! root化されたスマホやタブレットをお持ちなら、Google Playストアから「aLogCat」をインストールできます。無料版と有料版があり、機能はどちらも同一ですが、有料版は開発者への金銭的支援になります。

aLogCatの特徴は、端末上で直接動作することと、エラーログの扱いを楽にしてくれる機能が備わっていることです。
メッセージは色分けしてハイライト表示されるため、どれがエラーで、どれが無害なシステム通知なのかがひと目でわかります。また、メールやBluetooth、PasteDroid経由でのPasteBinへの共有にも対応しています。
ログをSDカードに継続的に直接保存したい場合は、「aLogRec」という別のアプリが必要です。こちらも無料版と寄付版があり、Google Playストアから入手できます。

では、スマホ上でログファイルを直接閲覧・編集したい場合はどうでしょう? そんなときにおすすめなのが、VIMテキストエディターの無料モバイル版「Vim Touch」です。筆者が数年前に、Android端末でPHP開発環境を構築する最良の方法について執筆した際にも紹介しました。
締めくくる前に、一点お伝えしておきたいことがあります。スマホのroot化は、マルウェアへの感染リスクを高めたり、一部のアプリ(特に銀行系アプリ)が動作しなくなったりする可能性があります。
ログファイルを取得するためだけにroot化を検討しているなら、断然、PC接続型のADB方式をおすすめします。手間はほぼ変わらず、セキュリティ面でははるかに安全だからです。
あなたの体験を聞かせてください!
スマホやタブレットのシステムログを取得したことはありますか? きっかけは何でしたか? 取得は簡単でしたか? どの方法を使いましたか? ぜひ下のコメント欄でお聞かせください。
-
Androidでゲームを快適に楽しむ方法!Gaming Modeアプリの導入と設定ガイド
スマートフォンでのゲームは、世界中の何百万人ものユーザーが楽しんでいるAndroidの最も人気のある用途の一つです。Android向けモバイルゲームは年々進化を続け、近年では目覚ましい発展を遂げています。毎日何百万ものプレイヤーがAndroidスマートフォンでゲームをプレイしています。誰もが快適なゲーム体験を求めているはず。この記事では、より充実したゲーム体験を実現するための方法をご紹介します。 Androidのゲーム体験を向上させるには? 最近のスマートフォンメーカーは、ゲームランチャーやゲームブースター機能を内蔵したデバイスを発売するようになりました。これらのアプリはAndroidスマート
-
Windows 10でAndroidの通知をPCで受け取る方法|連携手順を徹底解説
Androidは世界で最も多く利用されているオペレーティングシステムの一つであり、膨大なユーザー数を誇ります。Android搭載スマートフォンの性能が年々向上するにつれ、Windows 10のPC上でAndroidの通知を受け取ることが可能になりました。仕事中やスマートフォンが手元にないときでも、わざわざ端末を取りに行かずに通知を確認できるのは大きなメリットです。Windows 10では、この通知同期機能が標準機能として組み込まれていますが、事前にいくつかの設定を行う必要があります。設定を始める前に、必要なアップデートが適用された正規版のWindows 10を使用していることを確認しておきまし