Ako prijímať protokoly v systéme Android: Logcat, dmesg a ramoops

Zaujíma vás, ako robiť denníky v systéme Android? V tejto príručke vám povieme o rôznych bežných protokoloch v systéme Android a o tom, ako ich zhromažďovať.

Protokoly sú veľmi užitočné, keď vývojár diagnostikuje chybu v softvéri. Keď sa teda ako používateľ sťažujete vývojárovi na problém s ich aplikáciou pre Android alebo firmvérom pre trh s náhradnými dielmi (vlastná ROM), požiada vás o odoslanie protokolu, ktorý im pomôže problém vyriešiť. Android obsahuje množstvo protokolov, ktoré sa zaoberajú rôznymi časťami firmvéru, a existuje niekoľko spôsobov, ako tieto protokoly zhromažďovať. V tejto príručke budeme hovoriť o rôznych bežných protokoloch a o tom, ako ich môžete zhromažďovať v systéme Android pre hlásenia chýb.

Skôr ako začneme, mali by ste na svojom počítači nastaviť Android Debug Bridge, pretože pre niektoré z týchto denníkov možno budete potrebovať prístup ADB. Máme skvelého sprievodcu ako nastaviť ADB na akomkoľvek počítači.

Protokoly o panike jadra

Protokoly paniky jadra sú užitočné na zistenie toho, čo sa stalo počas neúspešného zavádzania. Ak sa pokúšate spustiť vlastnú ROM, ale váš telefón sa zasekol v zavádzacej slučke, môžete zbierať protokoly o panike jadra, aby ste vývojárovi ROM pomohli zistiť, čo sa pokazilo.

Väčšina výrobcov Androidu používa upstream ovládače „pstore“ a „ramoops“ na ukladanie protokolov jadra po panike. Ramoops zapisuje svoje protokoly do pamäte RAM pred zlyhaním systému. S prístupom root je možné tieto protokoly získať z:

/sys/fs/pstore/console-ramoops

Názov súboru sa môže mierne líšiť, ale bude v adresári pstore. Môžete to získať pomocou ADB pull alebo iným spôsobom, ktorý chcete. Napríklad:

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

Správy vodiča

Protokol z vyrovnávacej pamäte správ ovládača možno použiť na diagnostiku problémov so systémovými ovládačmi a toho, prečo niečo nefunguje. V systéme Android môžete na získanie týchto protokolov použiť výstup „dmesg“. budete potrebovať root prístup získať tieto denníky. Na export celého protokolu použite nasledujúci príkaz ADB.

adbshellsu-cdmesg > dmesg.log

Systémové denníky

Systémové denníky sú užitočné, keď niečo v systéme vyvolá chybu. Android umožňuje zhromažďovanie systémových protokolov pomocou Logcat. Správy denníka je možné zobraziť v okne Logcat v aplikácii Android Studio alebo ich môžete stiahnuť pomocou nástroja príkazového riadka.

V obchode Google Play je k dispozícii aj niekoľko aplikácií pre Android, ktoré umožňujú jednoduchý prístup k týmto nástrojom. O týchto aplikáciách si povieme neskôr v tomto článku. Okrem toho niekoľko vlastných ROM obsahuje možnosti v nastaveniach vývojárov na zhromažďovanie systémových denníkov.

Ak chcete zhromažďovať protokoly pomocou ADB, použite nasledujúci príkaz. Tento príkaz exportuje súvislý protokol, takže ho zastavte pomocou Ctrl + C.

adblogcat > logcat.txt

Na export celého protokolu naraz môžete použiť parameter -d.

adblogcat-d > logcat.txt

Ak chcete, môžete tiež zobraziť alebo uložiť vyrovnávaciu pamäť rádia pomocou nasledujúceho príkazu.

adblogcat-dbradio > radio.txt

Ak je vaše zariadenie rootované, na zhromažďovanie protokolov môžete použiť aplikáciu Terminál na samotnom zariadení. Ak chcete uložiť denník pomocou terminálu v telefóne, zadajte nasledujúci príkaz, aby sa denník uložil do telefónu.

logcat -d -f /sdcard/logcat.txt

Aplikácie pre Android na zhromažďovanie protokolov

Logcat Extreme

Logcat Extreme vám môže pomôcť prečítať výstupy logcat a dmesg, ako aj protokoly záznamov. Na správne zobrazenie protokolov vyžaduje prístup root.

Logcat ExtremeVývojár: SCDevs

Cena: zadarmo.

3.9.

Stiahnuť ▼

Logcat Reader

Logcat Reader je aplikácia s otvoreným zdrojom, ktorá vám umožňuje čítať a ukladať systémové denníky. Farebne rozlišuje protokoly na základe priority protokolov.

Logcat ReaderVývojár: Daršan Parajuli

Cena: zadarmo.

4.2.

Stiahnuť ▼

LiveBoot

Táto aplikácia nie je správnou náhradou logcat, ale je svojím spôsobom cool a zaslúži si zmienku. Cieľom tejto aplikácie nie je skutočne vám pomôcť s ladením, ale poskytnúť vám alternatívnu animáciu spúšťania, ktorá vyzerá ako zo sci-fi filmu.

LiveBoot nahradí spúšťaciu animáciu vášho zariadenia výstupmi logcat a dmesg, keď k nim dôjde. Jeho výstupná konfigurácia zahŕňa úroveň logcat, výber vyrovnávacej pamäte a formátu, či sa má zobraziť dmesg a ďalšie. Vyžaduje prístup root, ako aj SuperSU verzie 2.40 alebo novšej. Viac o aplikácii nájdete na nej XDA vlákno.

[root] LiveBootVývojár: Chainfire

Cena: zadarmo.

4.2.

Stiahnuť ▼

Toto sú niektoré zo spôsobov, ako môžete zbierať denníky v systéme Android. Ak hľadáte spôsob, ako získať prístup root na telefóne s Androidom, pozrite si nášho podrobného sprievodcu na ako rootovať telefón.