Jak robić logi na Androidzie: Logcat, dmesg i ramoops

Zastanawiasz się, jak robić logi na Androidzie? W tym przewodniku informujemy o różnych typowych dziennikach w systemie Android i o tym, jak je gromadzić.

Dzienniki są bardzo przydatne, gdy programista diagnozuje błąd w oprogramowaniu. Tak więc, gdy jako użytkownik złożysz skargę do programisty na temat problemu z jego aplikacją na Androida lub oprogramowaniem sprzętowym na rynku wtórnym (niestandardową pamięcią ROM), poprosi Cię on o przesłanie dziennika, który pomoże mu rozwiązać problem. Android zawiera wiele dzienników dotyczących różnych części oprogramowania sprzętowego, a istnieje wiele sposobów ich gromadzenia. W tym przewodniku omówimy różne typowe dzienniki i sposoby ich gromadzenia na Androidzie w celu raportowania błędów.

Zanim zaczniemy, skonfiguruj Android Debug Bridge na swoim komputerze, ponieważ dla niektórych z tych dzienników możesz potrzebować dostępu ADB. Mamy świetny przewodnik jak skonfigurować ADB na dowolnym komputerze.

Dzienniki paniki jądra

Dzienniki paniki jądra są przydatne, aby dowiedzieć się, co się stało podczas nieudanego rozruchu. Jeśli próbujesz uruchomić niestandardową pamięć ROM, ale telefon utknął w pętli rozruchowej, możesz zebrać dzienniki błędów jądra, aby pomóc programiście ROM dowiedzieć się, co poszło nie tak.

Większość producentów Androida korzysta z zewnętrznych sterowników „pstore” i „ramoops” do przechowywania dzienników jądra po panice. Ramoops zapisuje swoje logi w pamięci RAM przed awarią systemu. Dzięki dostępowi do konta root te dzienniki można pobrać z:

/sys/fs/pstore/console-ramoops

Nazwa pliku może być nieco inna, ale będzie znajdować się w katalogu pstore. Możesz to uzyskać za pomocą ADB pull lub w inny sposób. Na przykład:

adb pull /sys/fs/pstore/console-ramoops C:\Users\Gaurav\Desktop\filename

Wiadomości kierowcy

Dziennik z bufora komunikatów sterowników może zostać wykorzystany do zdiagnozowania problemów ze sterownikami systemowymi i wyjaśnienia, dlaczego coś nie działa. W systemie Android możesz użyć wyjścia „dmesg”, aby uzyskać te dzienniki. Będziesz potrzebował dostęp do roota aby jednak uzyskać te logi. Użyj następującego polecenia ADB, aby wyeksportować cały dziennik.

adbshellsu-cdmesg > dmesg.log

Dzienniki systemowe

Dzienniki systemowe są przydatne, gdy coś w systemie zgłasza błąd. Android umożliwia zbieranie logów systemowych za pomocą Logcat. Komunikaty dziennika można przeglądać w oknie Logcat w Android Studio lub można je pobrać za pomocą narzędzia wiersza poleceń.

W sklepie Google Play dostępnych jest także kilka aplikacji na Androida, które umożliwiają łatwy dostęp do tych narzędzi. Porozmawiamy o tych aplikacjach w dalszej części tego artykułu. Co więcej, kilka niestandardowych ROMów ma opcje w ustawieniach programistów umożliwiające zbieranie dzienników systemowych.

Aby zbierać dzienniki za pomocą ADB, użyj następującego polecenia. To polecenie wyeksportuje ciągły dziennik, więc użyj Ctrl + C, aby go zatrzymać.

adblogcat > logcat.txt

Możesz użyć parametru -d, aby wyeksportować cały dziennik za jednym razem.

adblogcat-d > logcat.txt

Jeśli chcesz, możesz także wyświetlić lub zapisać bufor radiowy za pomocą następującego polecenia.

adblogcat-dbradio > radio.txt

Jeśli Twoje urządzenie jest zrootowane, możesz używać aplikacji Terminal na samym urządzeniu do zbierania dzienników. Aby zapisać dziennik za pomocą terminala w telefonie, wpisz następujące polecenie, aby zapisać dziennik w telefonie.

logcat -d -f /sdcard/logcat.txt

Aplikacje na Androida do zbierania logów

Logcat Ekstremalny

Logcat Extreme może pomóc Ci odczytać dane wyjściowe logcat i dmesg, a także zapisać logi. Aby poprawnie wyświetlać logi, wymagane są uprawnienia roota.

Logcat EkstremalnyDeweloper: SCDevowie

Cena: za darmo.

3.9.

Pobierać

Czytnik Logcata

Logcat Reader to aplikacja typu open source, która umożliwia odczytywanie i zapisywanie dzienników systemowych. Oznacza kolorami dzienniki w oparciu o priorytet dziennika.

Czytnik LogcataDeweloper: Darśan Parajuli

Cena: za darmo.

4.2.

Pobierać

LiveBoota

Ta aplikacja nie jest właściwym zamiennikiem logcata, ale na swój sposób jest fajna i zasługuje na wzmiankę. Celem tej aplikacji nie jest pomoc w debugowaniu, ale zapewnienie alternatywnej animacji rozruchu, która wygląda jak z filmu science-fiction.

LiveBoot zastępuje animację rozruchu urządzenia wynikami logcat i dmesg, gdy tylko to nastąpi. Jego konfiguracja wyjściowa obejmuje poziom logcat, wybór bufora i formatu, czy wyświetlać dmesg i wiele więcej. Wymaga uprawnień roota oraz wersji SuperSU 2.40 lub nowszej. Więcej o aplikacji znajdziesz na jej stronie wątek XDA.

[root] LiveBootDeweloper: Łańcuchowy Ogień

Cena: za darmo.

4.2.

Pobierać

Oto niektóre ze sposobów gromadzenia dzienników w systemie Android. Jeśli szukasz sposobu na uzyskanie uprawnień roota na swoim telefonie z Androidem, zapoznaj się z naszym szczegółowym przewodnikiem na ten temat jak zrootować telefon.