Có rất nhiều thứ thú vị trong nhật ký hệ thống Android, rất hữu ích theo nhiều cách
- tìm nguyên nhân gốc rễ của vấn đề
- xác định các ứng dụng hoạt động sai
Làm cách nào tôi có thể xem và kiểm tra nhật ký Android?
Có rất nhiều thứ thú vị trong nhật ký hệ thống Android, rất hữu ích theo nhiều cách
Làm cách nào tôi có thể xem và kiểm tra nhật ký Android?
Câu trả lời:
Cách ưa thích là tải xuống SDK và sử dụng adb logcat
(yêu cầu kích hoạt "tùy chọn nhà phát triển" trên thiết bị).
Có những ứng dụng có sẵn để xem nhật ký hệ thống đầy đủ, tuy nhiên chúng chỉ hoạt động trên các thiết bị đã root hoặc yêu cầu ban hành lệnh thủ công thông qua adb
để làm cho chúng hoạt động. Để biết thêm thông tin xem xem câu hỏi này.
Bạn có thể tải xuống SDK và sử dụng adb logcat
hoặc nhận Logcat Extrem từ Cửa hàng Google Play, nơi hiển thị nhật ký trực tiếp trên điện thoại của bạn.
Có một số thư mục nơi các bản ghi (bao gồm cả các thư mục từ sự cố) có thể xuất hiện - không phải tất cả chúng đều được chuẩn hóa (tức là một số có thể là ROM cụ thể).
/data/anr
: Một số tệp theo dõi dường như xuất hiện ở đây (Dalvik viết dấu vết ngăn xếp ở đây trên ANR, tức là "Ứng dụng không phản hồi" hay còn gọi là "Buộc đóng"; xem ví dụ: trích đoạn nhật ký tại đây )/data/dontpanic
dường như là một vị trí tiêu chuẩn (AOSP) và chứa một số nhật ký sự cố bao gồm cả dấu vết (xem ví dụ: viaForensics và StackOverflow )/data/kernelpanics
là một vị trí khác - chưa có bất kỳ "hoảng loạn hạt nhân" nào trên các thiết bị Android của tôi, tôi chưa thấy nội dung nào ở đó./data/panic/panic_daemon.config
điểm tháng đến các địa điểm khác cấu hình - trên Droid của tôi 2 nó đề cập đến/sdcard/panic_data/
/data/panicreports
thư mục (trống ở đây)/data/tombstones
có thể giữ một số tombstone_nn
tệp (với nn
dạng nối tiếp, tăng với mỗi tệp mới). Vì bia mộ được đặt cho người chết, nên nó được thực hiện ở đây cho "các quá trình chết do tai nạn" (nghĩa là bị rơi) - và đó là cái được gọi là "bãi rác lõi" trên các hệ thống Linux / Unix. Tuy nhiên, không phải tất cả các ứng dụng đều tạo ra bia mộ; điều này phải được nhà phát triển kích hoạt rõ ràng (xem Gỡ lỗi Android Core Dumps ).Có thể có thêm một số địa điểm đã trốn thoát tôi; nhưng vì hầu hết việc ghi nhật ký được thực hiện tmpfs
, những dữ liệu này bị mất khi khởi động lại và sẽ không khớp với câu hỏi của OP.
Một số lệnh có thể giúp bạn có hàng tấn thông tin. Đối với hầu hết trong số họ, chúng tôi khuyên bạn nên chuyển hướng chúng đến một tệp ( > filename.ext
) hoặc dẫn chúng qua bộ lọc ( | grep search-for-this
):
Các công việc sau đây không có 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>
Ở đây bạn có thể ví dụ xác định khu vực bạn quan tâm - radio, sự kiện ...
# 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>
Và hàng tấn của nó: Thông tin cụ thể về thiết bị, thông tin tài khoản, dịch vụ ...
$ 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>
Tạo một quả bóng lớn với mọi thứ cùng nhau, từ logcat đến dumpstate:
$ bugreport > /mnt/sdcard/bugreport.txt
Tôi khá chắc chắn rằng bạn thực sự muốn chuyển hướng lệnh cuối cùng đó ... xD
PS: Đương nhiên, truy cập vào những thông tin đó có thể yêu cầu root, vì hầu hết các nguồn được đặt trên bộ nhớ trong.
Một phát hiện rằng CatLog hiển thị nhật ký Android tốt hơn một chút sau đó là aLogcat. Ngoài ra adb logcat
, đó là những gì tôi đang sử dụng.
Một phương thức không có root, hoạt động ngay cả với các phiên bản Android mới:
Điều kiện tiên quyết:
Hướng dẫn:
Terminal
vào Spotlight và mở nóadb devices
để xác minh thiết bị của bạn được kết nối đúng cách.adb logcat
để hiển thị logcat vĩ đại và ma thuật hay còn gọi là stacktrace.(Chủ yếu được sao chép từ Leandros )
Ứng dụng miễn phí SysInfo ( Trang dự án ) sẽ hiển thị nhật ký hệ thống cũng như nén một báo cáo hệ thống hoàn chỉnh để gửi qua email, dropbox, NFC, v.v. Không đề cập đến nhiều thông tin hệ thống thú vị khác.
Nó nằm ở /sdcard/bugreports
.