Answers:
首选方式是下载SDK并使用adb logcat
(需要在设备上激活“开发人员选项”)。
有一些应用程序可用于查看完整的系统日志,但是它们只能在有根设备上运行,或者需要通过发出手动命令adb
才能运行。有关更多信息,请参见此问题。
您可以下载SDK并使用它,adb logcat
也可以从Google Play商店获取Logcat Extrem,后者直接在您的手机上显示日志。
在多个目录中可能会出现日志(包括崩溃的日志),但并非所有目录都是标准化的(即某些目录可能是特定于ROM的)。
/data/anr
:某些跟踪文件似乎到达了此处(Dalvik在ANR上将堆栈跟踪写入此处,即“ Application Not Responding”(又称“ Force-Close”);请参见此处的日志摘录)/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 Core Dumps)。可能还有更多的地方让我逃脱了;但是由于大多数日志记录tmpfs
都已完成,因此重启后这些数据将丢失,并且与OP问题不符。
几个命令可以为您提供大量信息。对于大多数文件,建议将它们重定向到文件(> filename.ext
)或通过过滤器(| grep search-for-this
)传递它们:
没有root的以下作品:
$ 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:自然,访问这些信息可能需要root用户,因为大多数源都位于内部存储中。
没有root的方法,即使在新的Android版本中也可以使用:
先决条件:
说明:
Terminal
输入Spotlight并将其打开adb devices
验证您的设备已正确连接。adb logcat
以显示强大而神奇的logcat aka stacktrace。(大部分复制自莱安德罗斯)
它位于中/sdcard/bugreports
。