Робота із застосунком
Застосунок упав: знайти причину
Від сповіщення про крах до точної помилки в Logcat — відфільтрувати й завантажити її для баг-репорту.
Навіщо: «застосунок закривається, коли тисну Buy» — з таким баг-репортом розробникам складно щось зробити. Стектрейс із пристрою одразу називає їм файл і рядок. Тут він дістається у два кліки.
Що відбувається
Section titled “Що відбувається”Logcat — це системний журнал Android: застосунки й система пишуть до нього, що роблять, а під час краху там лишається повний текст помилки.
- Застосунок падає: Android показує на екрані «keeps stopping».
- Holtdroid це помічає й показує сповіщення з першими рядками помилки. Натисніть у ньому Logcat.
- Відкриється вкладка Logcat. Червоні рядки — це помилки: назва
винятку, його повідомлення й рядки, що починаються з
at, показують, де в коді це сталося. - Звузьте пошук: This app / Everything перемикає між рядками вашого застосунку й усього пристрою, фільтр рівня залишає лише помилки, а текстове поле шукає тег чи слово.
- Download зберігає те, що зараз показано, — готовий файл для тікета.
- Після краху застосунок лишається закритим. Restart app у картці App запускає його знову.
Варто знати
Section titled “Варто знати”- Журнал збирається з моменту, коли пристрій готовий, і не губиться під час перезапуску застосунку та встановлення іншої збірки. Крах десятихвилинної давності теж можна знайти.
- This app стежить за вашим застосунком за його user id, тому бачить усі його процеси й не губить їх після перезапуску.
- Для баг-репорту з усім одразу (скриншот, журнал, відомості про пристрій) є кнопка Bundle у картці Device.
Якщо не працює
Section titled “Якщо не працює”- Сповіщення не з’явилося: застосунок міг закритися без краху, наприклад сам викликав
finish()або його вбила система через пам’ять. Подивіться Logcat у режимі Everything з рівнем Error. - Вкладки Logcat немає або вона чогось чекає: вкладка працює через ADB пристрою, а в чужій сесії він вам недоступний.
- Помилка у вебчастині застосунку (білий екран, не працює кнопка): дивіться консоль DevTools; помилки JavaScript не кладуть Android-застосунок.