健全な情報が必要な場合は、健全なコマンドをお勧めします:)(攻撃を意味するものではなく、冗談です)。したがって、質問は次のようになります。
Androidデバイスからログ情報を取得するにはどうすればよいですか?
そして今、私たちはより良い側にいます。使用できる複数のアプローチがあります:
- アプリを利用して(色分けされた)ログ情報を表示する
- ADB(Android SDKの一部)を利用して、まったく同じ情報をリモートで抽出する
- リモート(またはローカルターミナルアプリ)からsshを使用して、デバイスから直接情報を取得する
このトピックを完全に処理するには、この単純な答え以上のものが必要です(興味がある場合は、たとえば、多くのWebサイト、またはAndrew Hoogの著書Android Forensics:Investigation、Analysis and Mobile Security for Google Androidを参照してください)ドイツ語に翻訳できることを光栄に思います。
だから、私はあなたが始めるためにここにいくつかの例をあげます:
アプリの活用
このコンテキストでおそらく最もよく知られているアプリはaLogcatで、プレイストアで無料で入手できます(開発者は同じアプリの他のバリアントへの寄付を喜んで受け入れます)。下のスクリーンショットをご覧ください1。アプリを使用すると、ログをフィルタリングしたり、ログメッセージの記録を開始/停止したり、記録されたスニペットをSDカードに保存したりできます。もちろん、要求どおりにプレーンテキストで保存できます。
このセクションのもう1つのアプリはログコレクターです。これは、利用可能なログ全体を取得し、共有メニューから送信しようとするだけです2。
Android Debug Bridge(ADB)
Androidソフトウェア開発キット(SDK)には、adb
さまざまなタスク用のコマンドが含まれています。他の多くの中で、それはadb shell
デバイス上でコマンドを実行することを提供します。これを使用して、必要なログ情報を収集することもできますadb shell
。以下のコマンドの前にを付けます。
デバイスのコマンドプロンプト
ターミナルアプリ(AndroidターミナルエミュレーターやターミナルIDEなど)を使用すると、デバイスのローカルのコマンドプロンプトでログに直接アクセスできます。もう少し快適ですが、これはデバイスでsshサーバー(DroidSSHdやDropBear SSHサーバーなど)を実行して、コンピューターからアクセスできます。このようにして、ログを調査しながら、大画面で作業できます。
ログ情報にアクセスするためのコマンド
コマンドラインからログ情報にアクセスするために使用できる強力なコマンドはたくさんあります。ここではほんの数例を示します。
dmesg
このdmesg
コマンドはカーネルログを抽出します。
$ dmesg
<6>[82839.126586] PM: Syncing filesystems ... done.
<7>[82839.189056] PM: Preparing system for mem sleep
<4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done.
<4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<7>[82839.242279] PM: Entering mem sleep
<4>[82839.242889] Suspending console(s) (use no_console_suspend to debug)
<7>[82839.252410] vfp_pm_save_context: saving vfp state
<6>[82839.252716] PM: Resume timer in 26 secs (864747 ticks at 32768 ticks/sec.)
<6>[82842.091369] Successfully put all powerdomains to target state
<6>[82842.092468] wakeup wake lock: wifi_wake
logcat
を使用するとlogcat
、多くのログ情報にアクセスできますが、ほとんどの場合、これにはrootが必要になります。これには、たとえば、で読み取るログバッファを選択することにより、情報をフィルタリングするためのいくつかのパラメータがあります-b
。詳細については、logcatの開発者向けページで提供されている情報をお読みください。あなたに2つの例を与えるために:あなたはあなたのデバイスの無線モジュールに関するlogcat -b events
イベントまたはlogcat -b radio
情報をリストアップするでしょう。
dumpsysとdumpstate
2つのコマンドdumpsys
とdumpstate
詳細なシステム情報を提供します。
$ dumpsys
Currently running services:
LocationProxyService
SurfaceFlinger
accessibility
account
activity
<snip>
DUMP OF SERVICE account:
Accounts: 1
Account {name=xxxxxxx@googlemail.com, type=com.google}
<snip>
DUMP OF SERVICE alarm:
$ dumpstate
========================================================
== dumpstate: 2012-08-18 23:39:53
========================================================
Build: Gingerbread GWK74 - CyanogenMilestone2
Bootloader: 0x0000
Radio: unknown
<snip>
------ MEMORY INFO (/proc/meminfo) ------
MemTotal: 487344 kB
MemFree: 10436 kB
Buffers: 14136 kB
Cached: 145460 kB
<snip>
バグレポート
そして、もしあなたがそれらすべてを覚えるのがbugreport
面倒であるなら、単にコマンドを使用してください-上記のすべてを呼び出し、それをバンドルして、開発者へのすてきなバグレポートに...
もちろん、これらのすべてのコマンドからの出力をファイルにリダイレクトしてコンピューターにコピーすることができます。ほとんどの場合、そうする必要があります。画面バッファーが小さすぎてすべてを処理できないbugreport > /mnt/sdcard/bugreport.txt
ためです。その部分。
$ dmesg
またはdmsg
?これらのいずれかに誤植があるはずです:)