W dzienniku systemu Android jest wiele interesujących rzeczy, które są pomocne na wiele sposobów
- znajdź przyczyny problemów
- identyfikować źle działające aplikacje
Jak mogę wyświetlić i sprawdzić dziennik systemu Android?
W dzienniku systemu Android jest wiele interesujących rzeczy, które są pomocne na wiele sposobów
Jak mogę wyświetlić i sprawdzić dziennik systemu Android?
Odpowiedzi:
Preferowanym sposobem jest pobranie zestawu SDK i użycie adb logcat
(wymaga aktywacji „opcji programisty” na urządzeniu).
Dostępne są aplikacje do przeglądania pełnego dziennika systemu, jednak działają one tylko na zrootowanych urządzeniach lub wymagają wydania polecenia ręcznego przez, adb
aby działały. Aby uzyskać więcej informacji zobacz to pytanie.
Możesz pobrać zestaw SDK i użyć adb logcat
lub pobrać Logcat Extrem ze sklepu Google Play, który pokazuje dziennik bezpośrednio na telefonie.
Istnieje kilka katalogów, w których mogą pojawiać się dzienniki (w tym te z awarii) - nie wszystkie z nich są znormalizowane (tzn. Niektóre mogą być specyficzne dla pamięci ROM).
/data/anr
: Wydaje się, że niektóre pliki śledzenia się tutaj dostają (Dalvik zapisuje tutaj ślady stosu na ANR, tj. „Aplikacja nie odpowiada”, inaczej „Force-Close”; patrz np. Fragmenty dziennika tutaj )/data/dontpanic
wydaje się być standardową lokalizacją (AOSP) i zawiera niektóre dzienniki awarii, w tym ślady (patrz np. viaForensics i StackOverflow )/data/kernelpanics
jest inną lokalizacją - nie mając „paniki jądra” na moich urządzeniach z Androidem, nie widziałem tam jeszcze żadnych treści./data/panic/panic_daemon.config
punkt może skonfigurowanych do innych miejscach - na moim Droid 2 wymienia/sdcard/panic_data/
/data/panicreports
katalog (tutaj pusty)/data/tombstones
może pomieścić kilka tombstone_nn
plików (przy nn
czym jest to numer seryjny, powiększany o każdy nowy plik). Ponieważ nagrobki są umieszczane dla umarłych, robi się to tutaj dla „procesów umarłych przez przypadek” (tj. Zawieszonych) - i jest to tak zwane „zrzuty rdzenia” w systemach Linux / Unix. Jednak nie wszystkie aplikacje tworzą nagrobki; musi to zostać wyraźnie włączone przez programistę (patrz Debugowanie zrzutów podstawowych Androida ).Możliwe, że uciekło mi jeszcze kilka miejsc; ale ponieważ większość logowania jest wykonywana tmpfs
, dane te są tracone przy ponownym uruchomieniu i nie pasują do pytania PO.
Kilka poleceń może dostarczyć mnóstwo informacji. W przypadku większości z nich zaleca się przekierowanie ich do pliku ( > filename.ext
) lub przepuszczenie ich przez filtr ( | grep search-for-this
):
Następujące działa bez rootowania:
$ 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>
Tutaj możesz np. Określić, jaki obszar Cię interesuje - radio, wydarzenia ...
# 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>
I mnóstwo: specyfika urządzenia, informacje o koncie, usługi ...
$ 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>
Zrób wielką piłkę ze wszystkim razem, od logcata do zrzutu:
$ bugreport > /mnt/sdcard/bugreport.txt
Jestem pewien, że naprawdę chcesz przekierować to ostatnie polecenie ... xD
PS: Oczywiście dostęp do tych informacji może wymagać rootowania, ponieważ większość źródeł znajduje się w pamięci wewnętrznej.
Stwierdzono, że CatLog wyświetla dziennik Androida nieco lepiej niż aLogcat. Poza adb logcat
tym tego używam.
Metoda bez roota, która działa nawet z nowymi wersjami Androida:
Wymagania wstępne:
Instrukcje:
Terminal
Spotlight i otwórz goadb devices
aby sprawdzić, czy urządzenie jest prawidłowo podłączone.adb logcat
aby pokazać potężnego i magicznego logcat aka stacktrace.(W większości skopiowane z Leandros )
Darmowa aplikacja SysInfo ( strona projektu ) wyświetli dzienniki systemowe, a także skompresuje pełny raport systemowy, który można wysłać pocztą e-mail, Dropbox, NFC itp. Nie wspominając o wielu innych interesujących informacjach systemowych.
Znajduje się w /sdcard/bugreports
.