Як вести журнали на Android: Logcat, dmesg і ramoops

Цікаво, як вести журнали на Android? У цьому посібнику ми розповімо вам про різноманітні поширені журнали на Android і про те, як їх збирати.

Журнали дуже корисні, коли розробник діагностує помилку в частині програмного забезпечення. Отже, як користувач, коли ви поскаржитеся розробнику на проблему з його додатком для Android або вбудованим програмним забезпеченням після продажу (користувацьке ПЗУ), вони попросять вас надіслати журнал, щоб допомогти їм вирішити цю проблему. Android містить кілька журналів, які стосуються різних частин мікропрограми, і існує кілька способів зібрати ці журнали. У цьому посібнику ми поговоримо про різні поширені журнали та про те, як їх можна збирати на Android для звітів про помилки.

Перш ніж почати, вам слід налаштувати Android Debug Bridge на вашому комп’ютері, оскільки вам може знадобитися доступ до ADB для деяких із цих журналів. У нас є чудовий посібник як налаштувати ADB на будь-якому комп'ютері.

Журнали паніки ядра

Журнали паніки ядра корисні для визначення того, що сталося під час невдалого завантаження. Якщо ви намагаєтеся запустити спеціальну ПЗУ, але ваш телефон застряг у циклі завантаження, ви можете зібрати журнали паніки ядра, щоб допомогти розробнику ПЗУ з’ясувати, що пішло не так.

Більшість виробників Android використовують драйвери upstream «pstore» і «ramoops» для зберігання журналів ядра після паніки. Ramoops записує свої журнали в оперативну пам’ять перед збоєм системи. З кореневим доступом ці журнали можна отримати з:

/sys/fs/pstore/console-ramoops

Назва файлу може дещо відрізнятися, але він буде в каталозі pstore. Ви можете отримати його за допомогою ADB pull або будь-яким іншим способом. Наприклад:

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

Повідомлення водія

Журнал із буфера повідомлень драйверів можна використовувати для діагностики проблем із системними драйверами та причин, чому щось не працює. На Android ви можете використовувати вихід dmesg, щоб отримати ці журнали. Вам знадобиться кореневий доступ хоча б отримати ці журнали. Використовуйте наступну команду ADB, щоб експортувати повний журнал.

adbshellsu-cdmesg > dmesg.log

Системні журнали

Системні журнали корисні, коли щось у системі видає помилку. Android дозволяє збирати системні журнали за допомогою Logcat. Повідомлення журналу можна переглядати у вікні Logcat в Android Studio або використовувати інструмент командного рядка, щоб отримати їх.

Кілька програм для Android також доступні в магазині Google Play, які забезпечують легкий доступ до цих інструментів. Про ці програми ми поговоримо далі в цій статті. Крім того, кілька користувальницьких ПЗУ мають опції в налаштуваннях розробників для збору системних журналів.

Щоб зібрати журнали за допомогою ADB, скористайтеся такою командою. Ця команда експортує безперервний журнал, тому використовуйте Ctrl + C, щоб зупинити його.

adblogcat > logcat.txt

Ви можете використовувати параметр -d, щоб експортувати весь журнал за один раз.

adblogcat-d > logcat.txt

Якщо ви хочете, ви також можете переглянути або зберегти радіобуфер за допомогою такої команди.

adblogcat-dbradio > radio.txt

Якщо ваш пристрій рутований, ви можете використовувати програму Terminal на самому пристрої для збору журналів. Щоб зберегти журнал за допомогою терміналу на вашому телефоні, введіть наступну команду, щоб журнал було збережено на вашому телефоні.

logcat -d -f /sdcard/logcat.txt

Програми для Android для збору журналів

Logcat Extreme

Logcat Extreme може допомогти вам читати вихідні дані logcat і dmesg, а також записувати журнали. Для належного відображення журналів потрібен доступ root.

Logcat ExtremeРозробник: SCDevs

Ціна: безкоштовно.

3.9.

Завантажити

Logcat Reader

Logcat Reader — це програма з відкритим кодом, яка дозволяє читати та зберігати системні журнали. Він позначає журнали кольорами на основі пріоритету журналу.

Logcat ReaderРозробник: Даршан Параджулі

Ціна: безкоштовно.

4.2.

Завантажити

LiveBoot

Цей додаток не є належною заміною logcat, але він по-своєму крутий і заслуговує на згадку. Ця програма спрямована не на те, щоб допомогти вам усунути помилки, а на те, щоб надати вам альтернативну анімацію завантаження, яка виглядає так, ніби вона була взята з науково-фантастичного фільму.

LiveBoot замінює завантажувальну анімацію вашого пристрою виходами logcat і dmesg, коли вони відбуваються. Його конфігурація виводу включає рівень logcat, вибір буфера та формату, чи показувати dmesg тощо. Для цього потрібен доступ root, а також SuperSU версії 2.40 або новішої. Ви можете дізнатися більше про додаток на його Тема XDA.

[корінь] LiveBootРозробник: Ланцюговий вогонь

Ціна: безкоштовно.

4.2.

Завантажити

Це деякі способи збору журналів на Android. Якщо ви шукаєте спосіб отримати root-права на своєму телефоні Android, перегляньте наш докладний посібник на як рутувати телефон.