У вас коли-небудь траплялося, що ваш улюблений додаток раптово аварійно завершував роботу? Хочете допомогти розробнику налагодити те, що сталося? Дізнайтеся, як захоплювати та фільтрувати Logcats за допомогою нашого посібника.
Хорвати махають прапором ЄС під час святкування вступу Хорватії до Європейського Союзу на площі Бана Єлешича в Загребі 30 червня 2013 року. Десятки тисяч хорватів привітали вступ країни до Європейського Союзу опівночі неділі (22:00 за Гринвічем), майже через два десятиліття після закінчення кривавої війни за незалежність колишньої югославської республіки. AFP PHOTO / STRINGER
Це трапилося з усіма нами в той чи інший момент. Немає сорому зізнатися в цьому. Іноді програми Android аварійно виходять з ладу. Незалежно від того, чи використовуєте ви повністю стандартний пристрій для запуску Google Maps або налаштовану ПЗУ з модулем Xposed для покращити Google Hangouts, збої програм та інші проблеми можуть виникнути і навіть стати перешкодою. Особливо це стосується розробки невеликих налаштувань і додатків, подібних до багатьох на нашому веб-сайті. Коли виникають проблеми, одна з найбільш конструктивних і корисних ідей, яку користувач може надати розробнику щодо природи збою, це надання
Logcat. Хоча ця інформація надзвичайно корисна для розробників, для звичайного користувача отримання цієї інформації може здатися дещо складним.Як правило, залучення інструменти командного рядка через ADB, Logcat недосяжний для багатьох користувачів, які не мають досвіду роботи з командним рядком. Однак випуск певних програм усунув або, принаймні, значно зменшив участь команд ADB у отриманні та надсиланні Logcat, що робить це таким же простим, як кілька натискань на екрані. У нашій безкінечній місії допомоги розробникам у розробці, ось посібник для початківців, щоб навчити користувачів надсилати Logcat.
Що таке Logcat і як його отримати?
Logcat — це інструмент оболонки ADB, який використовується для отримання журналу всіх системних подій. Це включає помилки, попередження, трасування стека та загальні випадки системи. Коли виникає помилка, ключова інформація, що вказує на джерело збою, виводиться через цей журнал, що робить його дуже корисним інструментом для усунення несправностей. Зазвичай вони збираються та фільтруються за допомогою команд ADB. Однак такі програми, як aLogcat, Каталог, і наш обраний інструмент для цієї статті, Матлог, заощадили користувачам зусилля, скомпілювавши ці командні інструменти в графічний інтерфейс програми, яку можна завантажити з Play Store.
Як згадувалося, Matlog — це те, що ми використовуємо для збору Logcats. Вибраний через простий, але зручний інтерфейс, Matlog був створений XDA Junior Member plusCubed і на основі Нолан Лоусон програма з відкритим кодом Catlog. Як Catlog, Matlog може бути зібрано з джерела, або завантажено безкоштовно з магазину Google Play. Хоча рутування дозволяє пропустити крок під час налаштування, Для збору Logcats не потрібен доступ root. Якщо ваш пристрій не рутований, одна команда оболонки ADB надасть програмі доступ для читання журналів вашого пристрою. Ви ще не налаштували ADB на своїй машині? Немає проблем, просто виконайте ці дії, щоб запустити його.
Примітка. У телефонах Huawei повністю вимкнено вихід Logcat. Вам потрібно буде змінити приховане налаштування перш ніж продовжити роботу з рештою цього посібника.
Налаштування ADB
Перший, завантажте двійковий файл ADB прямо з Google для вашої конкретної ОС і розпакуйте його в окремий каталог на вашому комп’ютері. далі, встановити правильний драйвер для вашого телефону. Потім увімкніть «Налагодження USB» у Параметрах --> Параметри розробника. Якщо ви не бачите «Параметри розробника», вам потрібно буде ввімкнути його, перейшовши в «Налаштування» --> «Про телефон», а потім 7 разів торкнувшись номера збірки. Нарешті переконайтеся, що ADB працює, запустивши командний рядок у тому самому каталозі, що й бінарний файл ADB (клацніть правою кнопкою миші --> «відкрити командний рядок тут») і виконайте таку команду:
adb devices
Якщо ви бачите серійний номер свого пристрою (і він не говорить про неавторизований), ви золоті. Якщо на вашому телефоні з’явиться спливаюче вікно з проханням надати вашому комп’ютеру доступ до ADB, скажіть «так». Якщо ви не бачите жодного з них, спробуйте перезавантажити комп’ютер/телефон і повторно підключити його до комп’ютера. В іншому випадку спробуйте перевстановити драйвер.
Налаштування Matlog
Тепер, коли ви запустили та запустили ADB (сподіваємося), усе, що вам потрібно зробити, щоб увімкнути Matlog здатність перехоплювати Logcats, це виконати наступну команду в оболонці ADB. Знову ж таки, якщо ваш пристрій уже рутований, вам не потрібно запускати цю команду, оскільки це необхідно лише для нерутованих телефонів.
adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Після ввімкнення та відкриття Matlog відображатиме системні події в режимі реального часу. Ви можете торкнутися кнопки паузи, щоб зупинити це, потім торкнутися меню з крапками та вибрати «очистити», щоб очистити поле від сторонніх даних. Рекомендується робити це під час підготовки до реєстрації несправної програми, щоб зменшити розмір журналу. Щоб скоротити кроки, а отже, ще більше скоротити довжину журналу, додайте віджет Matlog на свій головний екран поруч із програмою, що виходить з ладу, як показано праворуч. У цьому випадку Apktool X це наш несправний додаток.
Торкнувшись віджета, ви зможете назвати журнал і почати запис. Потім просто відтворіть несправність відразу після початку реєстрації, що заповнить Logcat відповідною інформацією для вашої проблеми. Коли проблему буде відтворено, просто торкніться віджета ще раз, щоб завершити запис журналу.
Після цього Matlog відкриє записаний журнал. Торкніться трьох крапок і виберіть «надіслати», щоб надіслати журнал електронною поштою як вкладений текстовий файл разом із загальною інформацією про пристрій. Це воно! Ваш Logcat успішно захоплено та надіслано до професора Оука.
У моєму прикладі вище я можу сказати, що причина збою Apktool X полягає в тому, що мій пристрій не рутировано. ох! Я повинен був повністю прочитати статтю перш ніж спробувати скористатися програмою.
Це було надто легко
Звичайно, не всі проблеми так легко охопити. Іноді проблеми, пов’язані із завантаженням, або проблеми, які тривають протягом тривалого періоду часу, можуть потребувати інших функцій програми для запису. У таких випадках ви захочете дозволити Matlog працювати у фоновому режимі (не призупиняти та не очищати його) і використовувати функції Log Level і Filter для аналізу даних.
Хоча зазвичай це не єдиний необхідний метод для збору відповідних даних, деякі ситуації вимагають більше контексту – кожен із цих інструментів можна використовувати для більш довгих журналів, щоб сортувати та вказувати дані для розробник. Звичайно, це залежить від характеру помилки та запитів розробника. Щоб скористатися будь-яким із них, просто запустіть Matlog, відтворіть свою проблему, перейдіть назад до Matlog, торкніться меню з крапками та виберіть один із цих двох методів сортування.
Рівень журналу
Іншу команду ADB, спрощену Matlog, функцію Log Level можна використовувати для перегляду певних типів системних подій і повідомлень. Нижче наведено короткий опис різних типів повідомлень, як описано на веб-сайті розробників Android і позначено кольором відповідно до маркування Matlog.
Від найнижчого до найвищого пріоритету:
- В: докладно (загальні системні події)
- Д: Відлагоджувати
- я: Інформація
- В: УВАГА
- E: Помилка
- Ф: Смертельно
- S: Без звуку (найвищий пріоритет, на якому нічого не друкується)
Функція рівня журналу має відповідний список цих повідомлень, який може фільтрувати журнал на кожному рівні пріоритету. Якщо вибрати рівень журналу, відображатимуться лише події з власним рівнем пріоритету та вищим, що полегшить ідентифікацію та групування помилок, а не вимагати вручну прокручувати численні рядки тексту, які іноді можуть бути тисячами, щоб зробити так.
Фільтри
Фільтри також можна використовувати для сортування даних журналу. Ініціювавши пошук за ключовим словом, користувач може бачити лише повідомлення, у яких явно згадується це ключове слово. Корисні ключові слова можуть включати назву несправної програми або навіть слово «помилка», оскільки воно охоплює випадки терміна на всіх рівнях пріоритету, хоча це не охоплювати всі помилки «Рівень журналу».
Якщо ви часто шукаєте/фільтруєте певні ключові слова, допомагаючи розробнику налагодити програму (або якщо розробник явно створив унікальну подію журналу, яку ви можете шукати), тоді ви також можете зберегти фільтр, до якого можна повернутися в майбутнє. Це корисно, коли ви заздалегідь знаєте, що шукаєте, а це трапляється досить часто, якщо ви працюєте разом із розробником.
Готові до налагодження?
Хоча ви можете ні зараз будьте експертом у налагодженні програм для Android, навчившись збирати та надсилати Logcats, ви станете чудовим ресурсом для розробників ваших улюблених програм. Використовуючи Matlog і функції, описані вище, збирання, сортування та надсилання відповідної інформації про несправну програму ніколи не було таким простим.
Ви користувалися Matlog або іншою програмою Logcat? Чи знайшов цей посібник для вас корисним? Дайте нам знати в коментарях нижче!