Przewodnik: Wysyłanie Logcat do pomocy w debugowaniu Twojej ulubionej aplikacji

Czy zdarzyło Ci się kiedyś, że Twoja ulubiona aplikacja nagle się zawiesiła? Chcesz pomóc programiście w debugowaniu tego, co się stało? Dowiedz się, jak przechwytywać i filtrować Logcats, korzystając z naszego przewodnika.

Chorwaci machają flagą UE świętując przystąpienie Chorwacji do Unii Europejskiej na placu Bana Jelesicia w Zagrzebiu, 30 czerwca 2013 r. Dziesiątki tysięcy Chorwatów wiwatowało przystąpienie kraju do Unii Europejskiej o północy w niedzielę (22:00 GMT), prawie dwie dekady po zakończeniu krwawej wojny o niepodległość byłej republiki jugosłowiańskiej. AFP PHOTO/STRINGER

Każdemu z nas przydarzyło się to w takim czy innym momencie. To żaden wstyd się do tego przyznać. Czasami aplikacje na Androida ulegają awarii. Niezależnie od tego, czy używasz całkowicie standardowego urządzenia do uruchamiania Map Google, czy też wysoce dostosowanej pamięci ROM z modułem Xposed do ulepszyć Google Hangouts, mogą wystąpić awarie aplikacji i inne problemy, które nawet mogą stać się sporą przeszkodą. Jest to szczególnie prawdziwe w przypadku opracowywania drobnych poprawek i aplikacji, takich jak wiele dostępnych na naszej stronie internetowej. Gdy pojawią się problemy, jednym z najbardziej konstruktywnych i pomocnych spostrzeżeń, jakie użytkownik może przekazać programiście na temat charakteru awarii, jest dostarczenie

Logcat. Chociaż jest to niezwykle pomocne dla programistów, uzyskanie tych informacji może wydawać się nieco zniechęcające dla zwykłego użytkownika.

Zazwyczaj angażujące narzędzia wiersza poleceń za pośrednictwem ADB, Logcat jest poza zasięgiem wielu użytkowników, którzy nie mają żadnego doświadczenia z wierszem poleceń. Jednak wydanie niektórych aplikacji wyeliminowało lub przynajmniej znacznie ograniczyło udział poleceń ADB w pobieraniu i wysyłaniu Logcata, dzięki czemu można to zrobić tak łatwo, jak kilka dotknięć ekranu. W ramach naszej niekończącej się misji wspierania programistów w rozwoju, oto przewodnik dla początkujących, który nauczy użytkowników, jak wysyłać Logcat.


Co to jest Logcat i jak go wyciągnąć?

Logcat to narzędzie powłoki ADB służące do pobierania dziennika wszystkich zdarzeń systemowych. Obejmuje to błędy, ostrzeżenia, ślady stosu i ogólne zdarzenia systemowe. Kiedy wystąpi błąd, w dzienniku zapisywane są kluczowe informacje wskazujące na jego źródło, co czyni go bardzo przydatnym narzędziem do rozwiązywania problemów. Zwykle są one pobierane i filtrowane za pomocą poleceń ADB. Jednak aplikacje takie jak aLogcat, Katalogi nasze narzędzie wybrane w tym artykule, Matlog, oszczędziło użytkownikom wysiłku, kompilując te narzędzia poleceń w graficznym interfejsie użytkownika aplikacji do pobrania ze Sklepu Play.

Jak wspomniano, Matlog jest tym, czego używamy do zbierania Logcatów. Wybrany ze względu na prosty, a jednocześnie przyjazny dla użytkownika interfejs, Matlog został stworzony przez XDA Junior Member plus pokrojone w kostkę i na podstawie Nolana Lawsona Katalog aplikacji open source. Podobnie jak Catlog, Matlog może być skompilowane ze źródła, Lub pobrać bezpłatnie ze sklepu Google Play. Chociaż bycie zrootowanym pozwala pominąć krok podczas instalacji, dostęp do roota nie jest wymagany do zbierania Logcatów. Jeśli Twoje urządzenie nie jest zrootowane, pojedyncze polecenie powłoki ADB przyzna aplikacji dostęp do odczytu dzienników urządzenia. Nie skonfigurowałeś jeszcze ADB na swoim komputerze? Nie ma problemu, po prostu wykonaj poniższe kroki, aby go uruchomić.

Uwaga: w telefonach Huawei całkowicie wyłączono wyjście Logcat. Musisz zmienić ukryte ustawienie przed kontynuowaniem dalszej części tego przewodnika.


Konfigurowanie ADB

Pierwszy, pobierz plik binarny ADB bezpośrednio z Google dla konkretnego systemu operacyjnego i rozpakuj go do osobnego katalogu na swoim komputerze. Następny, zainstaluj odpowiedni sterownik dla Twojego konkretnego telefonu. Następnie włącz „Debugowanie USB” w Ustawieniach -> Opcje programisty. Jeśli nie widzisz Opcji programisty, musisz je włączyć, przechodząc do Ustawienia -> Informacje o telefonie, a następnie stukając 7 razy Numer kompilacji. Na koniec upewnij się, że ADB działa, uruchamiając wiersz poleceń w tym samym katalogu, co plik binarny ADB (kliknij prawym przyciskiem myszy -> „otwórz tutaj wiersz poleceń”) i uruchom następujące polecenie:

adb devices

Jeśli widzisz numer seryjny swojego urządzenia (i nie jest tam napisane, że jest ono nieautoryzowane), jesteś na wagę złota. Jeśli na telefonie pojawi się wyskakujące okienko z prośbą o przyznanie komputerowi dostępu ADB, powiedz „tak”. Jeśli nic się nie dzieje, spróbuj ponownie uruchomić komputer/telefon i ponownie podłączyć go do komputera. W przeciwnym razie spróbuj ponownie zainstalować sterownik.


Konfiguracja Matloga

Teraz, gdy masz już uruchomiony ADB (miejmy nadzieję), wszystko, co musisz zrobić, aby umożliwić Matlogowi przechwytywanie Logcatów, to wydać następujące polecenie w powłoce ADB. Ponownie, jeśli Twoje urządzenie jest już zrootowane, nie musisz uruchamiać tego polecenia, ponieważ jest to konieczne tylko w przypadku nierootowanych telefonów.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Widget Matlog Record obok źle działającej aplikacji

Po włączeniu i otwarciu Matlog będzie wyświetlał zdarzenia systemowe w czasie rzeczywistym. Możesz dotknąć przycisku pauzy, aby to zatrzymać, a następnie dotknąć menu wielokropków i wybrać „wyczyść”, aby oczyścić pole z obcych danych. Zaleca się wykonanie tej czynności podczas przygotowań do rejestrowania nieprawidłowo działającej aplikacji, aby zmniejszyć rozmiar dziennika. Aby jeszcze bardziej skrócić kroki, a tym samym długość dziennika, dodaj widżet Matlog do ekranu głównego obok aplikacji, której dotyczy awaria, jak pokazano po prawej stronie. W tym przypadku, Apktool X to nasza źle działająca aplikacja.

Dotknięcie widżetu umożliwia nadanie nazwy i rozpoczęcie rejestrowania dziennika. Następnie po prostu odtwórz usterkę natychmiast po rozpoczęciu rejestrowania, co zapełni Logcat odpowiednimi informacjami dotyczącymi Twojego problemu. Po odtworzeniu problemu wystarczy ponownie dotknąć widżetu, aby dokończyć rejestrację dziennika.

Po wykonaniu tej czynności Matlog otworzy przechwycony dziennik. Stuknij wielokropek i wybierz „wyślij”, aby wysłać dziennik e-mailem w postaci załączonego pliku tekstowego wraz z ogólnymi informacjami o urządzeniu. Otóż ​​to! Twój Logcat został pomyślnie przechwycony i wysłany do profesora Oaka.

W powyższym przykładzie widzę, że przyczyną awarii Apktool X jest to, że moje urządzenie nie jest zrootowane. Tak! Powinienem był w pełni Przeczytaj artykuł zanim spróbujesz skorzystać z aplikacji.

To było zbyt łatwe

Oczywiście nie wszystkie kwestie są tak łatwe do uchwycenia. Czasami problemy związane z uruchamianiem lub problemy trwające przez dłuższy czas mogą wymagać uchwycenia różnych funkcji aplikacji. W takich przypadkach będziesz chciał pozwolić Matlogowi działać w tle (nie wstrzymuj go ani nie kasuj) i użyj funkcji poziomu dziennika i filtra do analizowania danych.

Chociaż zazwyczaj nie jest to jedyna niezbędna metoda gromadzenia odpowiednich danych – w niektórych sytuacjach jest to wymagane więcej kontekstu – każde z tych narzędzi można wykorzystać na dłuższych logach do sortowania i określania danych dla deweloper. Zależy to oczywiście od charakteru błędu i żądań programisty. Aby skorzystać z któregokolwiek z nich, po prostu uruchom Matlog, odtwórz swój problem, przejdź z powrotem do Matloga, dotknij menu z kropkami i wybierz jedną z dwóch metod sortowania.

Wybór poziomu dziennika pokazujący tylko błędy

Poziom dziennika

Kolejne polecenie ADB uproszczone przez Matlog, funkcja Log Level może być używana do przeglądania określonych typów zdarzeń i komunikatów systemowych. Poniżej znajduje się krótki opis różnych typów wiadomości, opisanych w witrynie Android Developers i oznaczonych kolorami zgodnie z etykietą Matlog.

Od najniższego do najwyższego priorytetu:

  • V: Pełne (Ogólne zdarzenia systemowe)
  • D: Debugowanie
  • I: Informacja
  • W: Ostrzeżenie
  • mi: Błąd
  • F: Fatalny
  • S: Cichy (najwyższy priorytet, na którym nic nigdy nie jest drukowane)

Funkcja Poziom dziennika zawiera odpowiednią listę tych komunikatów, która umożliwia filtrowanie dziennika na każdym poziomie priorytetu. Wybranie poziomu dziennika spowoduje wyświetlenie tylko zdarzeń o własnym poziomie priorytetu i wyższym, co ułatwi ich identyfikację i grupowanie błędów, zamiast wymagać ręcznego przewijania wielu wierszy tekstu – których czasami może być tysiące Więc.

Wyszukaj zestaw filtrów dla „Apktool”

Filtry

Filtry można również zastosować do sortowania danych dziennika. Inicjując wyszukiwanie słowa kluczowego, użytkownik może zobaczyć tylko wiadomości, które wyraźnie odwołują się do tego słowa kluczowego. Przydatne słowa kluczowe mogą obejmować nazwę nieprawidłowo działającej aplikacji lub nawet słowo „błąd”, ponieważ obejmuje ono wystąpienia tego terminu na wszystkich poziomach priorytetu, chociaż nie obejmować wszystkie błędy „Poziomu logowania”.

Jeśli często wyszukujesz/filtrujesz określone słowa kluczowe, pomagając programistom w debugowaniu aplikacji (lub jeśli plik programista jawnie utworzył unikalne zdarzenie w dzienniku, które możesz wyszukać), możesz także zapisać filtr, do którego będziesz mógł wrócić przyszłość. Jest to przydatne, gdy wiesz z góry, czego szukasz, co w przypadku współpracy z programistą zdarza się dość często.

Gotowy do debugowania?

Chociaż możesz nie Teraz bądź ekspertem w debugowaniu aplikacji na Androida, a nauczenie się, jak gromadzić i wysyłać pliki Logcats, może sprawić, że będziesz doskonałym źródłem informacji dla twórców Twoich ulubionych aplikacji. Korzystanie z Matloga i jego funkcji opisanych powyżej, zbieranie, sortowanie i wysyłanie odpowiednich informacji o nieprawidłowej aplikacji nigdy nie było łatwiejsze.


Czy korzystałeś z Matloga lub innej aplikacji Logcat? Czy ten przewodnik był dla Ciebie pomocny? Daj nam znać w komentarzach poniżej!