Случвало ли ви се е любимото ви приложение внезапно да се срине? Искате ли да помогнете на програмиста да отстрани грешките в случилото се? Научете как да улавяте и филтрирате Logcats с нашето ръководство.
Хърватите развяват знаме на ЕС, докато празнуват присъединяването на Хърватия към Европейския съюз на площад Бан Йелешич в Загреб на 30 юни 2013 г. Десетки хиляди хървати приветстваха влизането на страната в Европейския съюз в полунощ в неделя (22:00 GMT), почти две десетилетия след края на кървавата война за независимост на бившата югославска република. AFP PHOTO / STRINGER
На всички ни се е случвало в един или друг момент. Няма нищо срамно да го признаеш. Понякога приложенията за Android се сриват. Независимо дали използвате напълно стандартно устройство за стартиране на Google Карти или високо персонализиран ROM с модул Xposed за подобрете Google Hangouts, сривове на приложения и други проблеми могат да възникнат и дори да се превърнат в голяма пречка. Това е особено вярно при разработването на по-малки ощипвания и приложения като многото намерени на нашия уебсайт. Когато възникнат проблеми, една от най-конструктивните и полезни прозрения, които потребителят може да даде на разработчика за естеството на срива, е чрез предоставяне на
Logcat. Въпреки че е изключително полезно за разработчиците, получаването на тази информация може да изглежда малко обезсърчително за редовния потребител.Обикновено включващи инструменти на командния ред чрез ADB, Logcat е недостъпен за много потребители, които имат малък или никакъв опит с командния ред. Пускането на определени приложения обаче елиминира или поне значително намали участието на ADB команди при извличане и изпращане на Logcat, правейки това лесно като няколко докосвания на екрана. В нашата безкрайна мисия да подпомагаме разработката за разработчици, ето ръководство за начинаещи, за да научите потребителите как да изпращат Logcat.
Какво е Logcat и как да изтеглим такъв?
Logcat е инструмент на ADB Shell, използван за изтегляне на регистър на всички системни събития. Това включва грешки, предупреждения, проследяване на стека и общи системни събития. Когато възникне грешка, ключова информация, сочеща към източника на повреда, се извежда чрез този журнал, което го прави много полезен инструмент за отстраняване на неизправности. Обикновено те се изтеглят и филтрират чрез ADB команди. Въпреки това, приложения като aLogcat, Catlogи избрания от нас инструмент за тази статия, Matlogспестиха усилията на потребителите, като компилираха тези командни инструменти в GUI на приложение, което може да се изтегли от Play Store.
Както споменахме, Matlog е това, което използваме за събиране на Logcats. Избран заради своя непретенциозен, но удобен за потребителя интерфейс, Matlog е създаден от XDA Junior Member plusCubed и въз основа на на Нолан Лоусън приложение с отворен код Catlog. Като Catlog, Matlog може да бъде компилиран от източника, или изтеглени безплатно от Google Play Store. Въпреки че руутването ви позволява да пропуснете стъпка по време на настройката, root достъп не е необходим за събиране на Logcats. Ако вашето устройство не е руутнато, една команда на обвивката на 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.
От най-нисък към най-висок приоритет:
- V: Многословно (общи системни събития)
- д: Отстраняване на грешки
- аз: Информация
- У: Внимание
- д: Грешка
- Е: Фатално
- S: Безшумен (най-висок приоритет, на който нищо не се отпечатва)
Функцията за ниво на дневник има съответен списък с тези съобщения, който може да филтрира дневника на всяко ниво на приоритет. Избирането на ниво на дневник ще показва само събития с неговото собствено ниво на приоритет и по-високо, което улеснява лесното идентифициране и групиране на грешки, вместо да се налага ръчно превъртане през множество редове текст – които понякога могат да бъдат хиляди – за да направите така.
Филтри
Могат да се използват и филтри за сортиране на данни от регистрационни файлове. Чрез започване на търсене по ключова дума, потребителят може да види само съобщения, които изрично се позовават на тази ключова дума. Полезните ключови думи може да включват името на неправилно работещото приложение или дори думата „грешка“, тъй като тя обхваща екземпляри на термина на всички нива на приоритет, въпреки че не обхващат всички грешки на „Ниво на регистър“.
Ако установите, че често търсите/филтрирате определени ключови думи, когато помагате на програмист да отстрани грешки в приложение (или ако разработчикът изрично е създал уникално регистрационно събитие, което можете да търсите), тогава можете също да запазите филтър, към който можете да се върнете в бъдещето. Това е полезно, когато знаете предварително какво търсите, което, ако работите заедно с разработчик, ще се случи доста често.
Готови ли сте за отстраняване на грешки?
Докато вие не можете сега бъдете експерт в отстраняването на грешки в приложения за Android, научаването как да събирате и изпращате Logcats може да ви направи страхотен ресурс за разработчиците на любимите ви приложения. С помощта на Matlog и чиито характеристики, описани по-горе, събирането, сортирането и изпращането на подходяща информация за неправилно работещо приложение никога не е било по-лесно.
Използвали ли сте Matlog или друго приложение на Logcat? Намерихте ли това ръководство за полезно? Кажете ни в коментарите по-долу!