Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
Mateusz
Odpowiedzi:
59
Android 4.1 i nowsze
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, adbaby działały. Aby uzyskać więcej informacji zobacz to pytanie.
Android 4.0 i starszy
Możesz pobrać zestaw SDK i użyć adb logcatlub pobrać Logcat Extrem ze sklepu Google Play, który pokazuje dziennik bezpośrednio na telefonie.
Alternatywnie można użyć emulatora terminali z poleceniem „logcat> /sdcard/log.txt” do ciągłego zapisywania dziennika do pliku na karcie SD. Pomoże to rozwiązać problemy z losowymi restartami.
Chahk,
Słuszna uwaga. Niektóre telefony mają tendencję do spamowania dziennika pełnego trywialnych informacji, więc jeśli chcesz zminimalizować rozmiar pliku i dane, które chcesz przejść, sprawdź sekcję „Filtrowanie wyników dziennika” na developer.android.com/guide/developing/tools/adb.html #logcat
onik
LogCat Apps nie działa już z JellyBean. Google zmieniło interfejs API Androida, aplikacje nie mają już uprawnień do odczytu dzienników z innych aplikacji niż ich własne.
Logcat Extreme to przyjemna aplikacja do przeglądania dziennika
Arpit Patel,
57
Lokalizacje plików dziennika
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/dontpanicwydaje 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.configpunkt może skonfigurowanych do innych miejscach - na moim Droid 2 wymienia/sdcard/panic_data/
wspomniany Droid 2 ma również /data/panicreportskatalog (tutaj pusty)
/data/tombstonesmoże pomieścić kilka tombstone_nnplików (przy nnczym 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.
Rejestruj polecenia do użycia z aplikacją terminalową (lub adb)
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):
Dziennik jądra
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>
Logcat
Tutaj możesz np. Określić, jaki obszar Cię interesuje - radio, wydarzenia ...
Zobacz mój komentarz powyżej dotyczący aplikacji LogCat.
Leandros,
2
Zaktualizowałem pytanie. Należy pamiętać, że względne informacje o pozycji (np. „Powyżej”) mogą łatwo stać się nieaktualne, ponieważ kolejność odpowiedzi może się zmieniać z czasem.
Flow
3
Metoda bez roota, która działa nawet z nowymi wersjami Androida:
Wymagania wstępne:
Linux, Windows lub Mac
Kabel USB do urządzenia
Urządzenie z Androidem
Instrukcje:
Zainstaluj sterownik urządzenia, aby korzystać z adb. Znajdziesz tu wszystko, czego potrzebujesz
Pobierz plik wykonywalny adb dla swojego systemu operacyjnego. Jest to część zestawu SDK systemu Android, ale możesz być w stanie znaleźć plik wykonywalny adb indywidualnie.
Otwórz komendę promt (Windows) lub terminal (Linux / Mac). Jak to zrobić: W systemie Windows: Windows + R> wpisz „cmd” (bez cudzysłowów)> kliknij Enter | W systemie Linux: nie wiesz, jak otworzyć terminal? LOL | Na Macu: wpisz TerminalSpotlight i otwórz go
Płyta CD do katalogu, w którym znajduje się plik wykonywalny adb. W systemie Windows: przejdź do katalogu, w którym został pobrany plik wykonywalny adb, Shift + prawy przycisk myszy i wybierz „Otwórz konsolę” (lub podobny) | W systemie Linux / Mac: kliknij prawym przyciskiem myszy w katalogu i wybierz „Otwórz terminal tutaj” (lub po prostu CD do katalogu)
Wpisz polecenie cmd / terminal: adb devicesaby sprawdzić, czy urządzenie jest prawidłowo podłączone.
Jeśli twoje urządzenie jest odpowiednio wybrane, wpisz, adb logcataby pokazać potężnego i magicznego logcat aka stacktrace.
Odtwórz swój błąd (lub cokolwiek innego) na swoim urządzeniu.
Zaraz potem wklej całe okno cmd / terminal do usługi wklejania, takiej jak http://pastebin.com/ i wyślij go do nas.
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.
(Tak, jestem prawie rok spóźniony, ale ten wymaga wzmianki).
JRobert,
Oba linki są teraz zepsute.
jk7
Drugi link (strona projektu) nadal działa dla mnie, ale ostatnie wpisy w nim pochodzą z 2010 roku. Zmiany w systemie Android od tego czasu zepsuły wiele funkcji Sysinfo.
Nigdy nie miałem takiego folderu w telefonie ... czy jest to specyficzne dla producenta lub urządzenia?
Mateusz
2
Z Logcat - CyanogenMod Wiki : Możesz użyć magicznej kombinacji klawiszy, aby utworzyć plik raportu o błędach w / sdcard / bugreports. Wydaje się to więc: a) nieco specyficzne (prawdopodobnie dla CM) ib) nie jest odpowiedzią na pytanie, ponieważ OP szuka „automatycznie wygenerowanych”.
Odpowiedzi:
Android 4.1 i nowsze
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.Android 4.0 i starszy
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.źródło
Lokalizacje plików dziennika
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ć kilkatombstone_nn
plików (przynn
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.Rejestruj polecenia do użycia z aplikacją terminalową (lub adb)
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
):Dziennik jądra
Następujące działa bez rootowania:
Logcat
Tutaj możesz np. Określić, jaki obszar Cię interesuje - radio, wydarzenia ...
Uzyskiwanie informacji o urządzeniu
I mnóstwo: specyfika urządzenia, informacje o koncie, usługi ...
Wszystko w jednym
Zrób wielką piłkę ze wszystkim razem, od logcata do zrzutu:
Jestem pewien, że naprawdę chcesz przekierować to ostatnie polecenie ... xD
Coś na temat uprawnień
PS: Oczywiście dostęp do tych informacji może wymagać rootowania, ponieważ większość źródeł znajduje się w pamięci wewnętrznej.
źródło
Stwierdzono, że CatLog wyświetla dziennik Androida nieco lepiej niż aLogcat. Poza
adb logcat
tym tego używam.źródło
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 )
źródło
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.
źródło
Znajduje się w
/sdcard/bugreports
.źródło