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.
Cena: zadarmo.
3.9.
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.
Cena: zadarmo.
4.2.
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.
Cena: zadarmo.
4.2.
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.