Android でログを取得する方法: Logcat、dmesg、ramoops

Android でログを取得する方法を知りたいですか? このガイドでは、Android のさまざまな一般的なログとその収集方法について説明します。

ログは、開発者がソフトウェアのエラーを診断するときに非常に役立ちます。 そのため、ユーザーとして、Android アプリやアフターマーケット ファームウェア (カスタム ROM) の問題について開発者に苦情を申し立てると、問題のトラブルシューティングに役立つようにログを提出するよう求められます。 Android には、ファームウェアのさまざまな部分を処理する多数のログが含まれており、それらのログを収集する方法は多数あります。 このガイドでは、さまざまな一般的なログと、バグ レポートのために Android でログを収集する方法について説明します。

これらのログの一部には ADB アクセスが必要になる可能性があるため、始める前にコンピューターに Android Debug Bridge をセットアップする必要があります。 に関する素晴らしいガイドがあります 任意のコンピューターに ADB をセットアップする方法.

カーネルパニックログ

カーネル パニック ログは、ブートの失敗中に何が起こったのかを把握するのに役立ちます。 カスタム ROM を実行しようとしていて、携帯電話がブート ループでスタックしている場合は、カーネル パニック ログを収集して、ROM 開発者が何が問題になったのかを見つけるのに役立ちます。

Android メーカーの多くは、パニック後にカーネル ログを保存するためにアップストリームの「pstore」ドライバーと「ramoops」ドライバーを使用しています。 Ramoops は、システムがクラッシュする前にログを RAM に書き込みます。 root アクセスを使用すると、これらのログを次の場所から取得できます。

/sys/fs/pstore/console-ramoops

ファイル名は若干異なる場合がありますが、pstore ディレクトリにあります。 ADB プルまたはその他の任意の方法を使用して取得できます。 例えば:

adb pull /sys/fs/pstore/console-ramoops C:\Users\Gaurav\Desktop\filename

ドライバーのメッセージ

ドライバー メッセージ バッファーのログは、システム ドライバーの問題や、何かが機能しない理由を診断するために使用できます。 Android では、「dmesg」出力を使用してこれらのログを取得できます。 あなたは必要になるでしょう

ルートアクセス ただし、これらのログを取得するには。 次の ADB コマンドを使用して、完全なログをエクスポートします。

adbshellsu-cdmesg > dmesg.log

システムログ

システム ログは、システム内の何かがエラーをスローした場合に役立ちます。 Android では、Logcat を使用してシステム ログを収集できます。 ログ メッセージは、Android Studio の Logcat ウィンドウで表示することも、コマンド ライン ツールを使用して取得することもできます。

これらのツールに簡単にアクセスできるように、Google Play ストアからいくつかの Android アプリも入手できます。 これらのアプリについては、この記事の後半で説明します。 さらに、いくつかのカスタム ROM には、システム ログを収集するための開発者設定のオプションが付属しています。

ADB を使用してログを収集するには、次のコマンドを使用します。 このコマンドは継続的なログをエクスポートするため、Ctrl + C を使用して停止します。

adblogcat > logcat.txt

-d パラメータを使用すると、完全なログを一度にエクスポートできます。

adblogcat-d > logcat.txt

必要に応じて、次のコマンドを使用して無線バッファを表示または保存することもできます。

adblogcat-dbradio > radio.txt

デバイスがルート化されている場合は、デバイス自体のターミナル アプリを使用してログを収集できます。 電話機のターミナルを使用してログを保存するには、次のコマンドを入力して、ログが電話機に保存されるようにします。

logcat -d -f /sdcard/logcat.txt

ログを収集するための Android アプリ

ログキャットエクストリーム

Logcat Extreme は、ログの記録だけでなく、logcat および dmesg 出力の読み取りにも役立ちます。 ログを適切に表示するには root アクセスが必要です。

ログキャットエクストリーム開発者: SCDev

価格:無料。

3.9.

ダウンロード

Logcat リーダー

Logcat Reader は、システム ログを読み取り、保存できるオープンソース アプリです。 ログの優先度に基づいてログを色分けします。

Logcat リーダー開発者: ダルシャン パラジュリ

価格:無料。

4.2.

ダウンロード

ライブブート

このアプリは logcat に代わる適切なアプリではありませんが、それはそれでクールであり、言及する価値があります。 このアプリの焦点は、実際にデバッグを支援することではなく、SF 映画から出てきたような代替ブート アニメーションを提供することです。

LiveBoot は、デバイスのブート アニメーションを、発生時に logcat および dmesg 出力に置き換えます。 出力設定には、logcat レベル、バッファーと形式の選択、dmesg を表示するかどうかなどが含まれます。 これには、root アクセスと SuperSU バージョン 2.40 以降が必要です。 アプリの詳細については、 XDAスレッド.

[ルート]ライブブート開発者: チェーンファイア

価格:無料。

4.2.

ダウンロード

これらは、Android でログを収集できる方法の一部です。 Android スマートフォンで root アクセスを取得する方法をお探しの場合は、詳細なガイドを参照してください。 携帯電話をルート化する方法.