回答:
推奨される方法は、SDKをダウンロードして使用することですadb logcat
(デバイスで「開発者オプション」を有効にする必要があります)。
システムログ全体を表示できるアプリがありますが、ルート化されたデバイスでのみ機能するか、機能adb
させるために手動コマンドを発行する必要があります。詳細については、この質問をご覧ください。
SDKをダウンロードして、Google PlayストアからLogcat Extremを使用adb logcat
または取得することができます。これにより、携帯電話に直接ログが表示されます。
ログ(クラッシュからのログを含む)が表示されるディレクトリがいくつかあります。それらのすべてが標準化されているわけではありません(つまり、一部はROM固有である可能性があります)。
/data/anr
:一部のトレースファイルは、ここで取得するように見えるが(のDalvikはANRにここにスタックトレースを書き込み、すなわち「アプリケーションが応答しません」別名「強制終了」;例えば参照抜粋を記録し、ここで)/data/dontpanic
標準の場所(AOSP)のようで、トレースなどのクラッシュログが含まれています(viaForensicsやStackOverflowを参照)/data/kernelpanics
別の場所です。Androidデバイスで「カーネルパニック」が発生していないため、コンテンツはまだありません。/data/panic/panic_daemon.config
構成されている他の場所を指している可能性があります-私のDroid 2では言及しています/sdcard/panic_data/
/data/panicreports
ディレクトリもあります(ここは空です)/data/tombstones
複数のtombstone_nn
ファイルを保持する場合があります(nn
シリアルであり、新しいファイルごとに増加します)。墓石は死者のために置かれているので、ここでは「偶然にプロセスが死んだ」(つまりクラッシュした)ために行われます。これはLinux / Unixシステムでは「コアダンプ」と呼ばれます。ただし、すべてのアプリがトゥームストーンを作成するわけではありません。これは、開発者が明示的に有効にする必要があります(Androidコアダンプのデバッグを参照)。私を逃れた場所がいくつかあるかもしれません。しかし、ほとんどのロギングはで行われるためtmpfs
、これらのデータは再起動すると失われ、OPの質問と一致しません。
いくつかのコマンドを使用すると、大量の情報を取得できます。ほとんどの場合、ファイルにリダイレクトする(> filename.ext
)か、フィルターを介してパイプする()ことをお勧めします| grep search-for-this
。
以下はルートなしで動作します:
$ 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.
<snip>
ここでは、たとえば、ラジオ、イベントなど、興味のあるエリアを指定できます。
# logcat -b events
I/am_create_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,,3721]
I/am_destroy_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,3721]
I/notification_cancel( 3457): [nitro.phonestats,4,0]
<snip>
そしてそれのトン:デバイスの詳細、アカウント情報、サービス...
$ 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>
$ 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
<snip>
logcatからdumpstateまで、すべて一緒に大きなボールを作成します。
$ bugreport > /mnt/sdcard/bugreport.txt
あなたは本当に最後のコマンドをリダイレクトしたいと思うはずです... xD
PS:ほとんどのソースは内部ストレージにあるため、当然、これらの情報へのアクセスにはルートが必要になる場合があります。
新しいAndroidバージョンでも機能するルートなしのメソッド:
前提条件:
手順:
Terminal
Spotlightに入力して開きますadb devices
を入力して、デバイスが正しく接続されていることを確認します。adb logcat
て、強力で魔法のlogcatとも呼ばれるスタックトレースを表示します。(ほとんどがLeandrosからコピーされました)
にあります/sdcard/bugreports
。