Průvodce: Odeslání Logcat pro pomoc při ladění vaší oblíbené aplikace

Stalo se vám někdy, že vám vaše oblíbená aplikace náhle spadla? Chcete vývojáři pomoci s laděním toho, co se stalo? Naučte se, jak zachytit a filtrovat Logcats s naším průvodcem.

Chorvaté mávají vlajkou EU při oslavách přistoupení Chorvatska k Evropské unii na náměstí Ban Jelesic v Záhřebu 30. června 2013. Desetitisíce Chorvatů vítaly vstup země do Evropské unie o nedělní půlnoci (22:00 GMT), téměř dvě desetiletí poté, co v bývalé jugoslávské republice skončila krvavá válka za nezávislost. AFP FOTO / STRINGER

Všem se to v té či oné chvíli stalo. Není ostuda si to přiznat. Aplikace pro Android někdy selhávají. Ať už ke spuštění Map Google používáte zcela skladové zařízení, nebo vysoce přizpůsobenou ROM s modulem Xposed vylepšit Google Hangouts, může dojít k pádům aplikací a dalším problémům, které se dokonce stanou docela překážkou. To platí zejména při vývoji menších vylepšení a aplikací, jako je mnoho, které najdete na našich webových stránkách. Když se vyskytnou problémy, jeden z nejkonstruktivnějších a nejužitečnějších poznatků, které může uživatel vývojáři propůjčit k povaze havárie, je poskytnutí

Logcat. Přestože je pro vývojáře nesmírně užitečné, může se získání těchto informací pro běžného uživatele zdát poněkud skličující.

Typicky zahrnující nástroje příkazového řádku prostřednictvím ADBLogcat je nedostupný pro mnoho uživatelů, kteří nemají s příkazovým řádkem žádné zkušenosti. Vydání určitých aplikací však eliminovalo nebo alespoň výrazně omezilo zapojení příkazů ADB do načítání a odesílání Logcatu, takže to bylo snadné na několik klepnutí na obrazovku. V rámci naší nekonečné mise pomoci vývojářům je zde průvodce pro začátečníky, který uživatele naučí, jak poslat Logcat.


Co je Logcat a jak jej vytáhneme?

Logcat je nástroj ADB Shell, který se používá k získání protokolu všech systémových událostí. To zahrnuje chyby, varování, trasování zásobníku a obecné systémové výskyty. Když dojde k chybě, prostřednictvím tohoto protokolu se zobrazí klíčové informace směřující ke zdroji selhání, což z něj činí velmi užitečný nástroj pro odstraňování problémů. Normálně jsou vytahovány a filtrovány pomocí příkazů ADB. Nicméně aplikace jako např aLogcat, Catloga náš nástroj pro tento článek, Matlog, ušetřili uživatelům námahu kompilací těchto příkazových nástrojů do GUI aplikace ke stažení z Obchodu Play.

Jak již bylo zmíněno, Matlog je to, co používáme pro shromažďování Logcatů. Matlog, vybraný pro své jednoduché, ale uživatelsky přívětivé rozhraní, vytvořil XDA Junior Member plusCubed a na základě Nolana Lawsona open-source aplikace Catlog. Jako Catlog, Matlog může být zkompilovaný ze zdrojenebo stáhnout zdarma z obchodu Google Play. Ačkoli rootování umožňuje přeskočit krok během nastavení, Ke shromažďování logcatů není vyžadován přístup root. Pokud vaše zařízení není rootované, jediný příkaz prostředí ADB udělí aplikaci přístup ke čtení protokolů vašeho zařízení. Ještě jste na svém počítači nenastavili ADB? Žádný problém, stačí provést následující kroky, abyste jej uvedli do provozu.

Poznámka: Telefony Huawei mají zcela deaktivovaný výstup Logcat. Budete muset změnit skryté nastavení než budete pokračovat ve zbytku této příručky.


Nastavení ADB

První, stáhněte si binární soubor ADB přímo z Googlu pro váš konkrétní OS a extrahujte jej do samostatného adresáře na vašem počítači. Další, nainstalujte správný ovladač pro váš konkrétní telefon. Poté povolte "Ladění USB" v Nastavení --> Možnosti vývojáře. Pokud nevidíte Možnosti vývojáře, budete je muset povolit tak, že přejdete do Nastavení --> O telefonu a poté sedmkrát klepnete na Číslo sestavení. Nakonec se ujistěte, že ADB funguje, spuštěním příkazového řádku ve stejném adresáři jako binární soubor ADB (klikněte pravým tlačítkem --> "otevřete příkazový řádek zde") a spusťte následující příkaz:

adb devices

Pokud vidíte sériové číslo svého zařízení (a není tam uvedeno neoprávněné), jste zlatí. Pokud na telefonu uvidíte vyskakovací okno s žádostí o udělení přístupu k ADB počítači, řekněte ano. Pokud ani jedno nenastane, zkuste restartovat počítač/telefon a znovu jej připojit k počítači. V opačném případě zkuste znovu nainstalovat ovladač.


Nastavení Matlogu

Nyní, když máte ADB v provozu (doufejme), vše, co potřebujete udělat, abyste umožnili Matlogu zachytit Logcats, je zadat následující příkaz v prostředí ADB. Opět platí, že pokud je vaše zařízení již rootované, nemusíte tento příkaz spouštět, protože je to nutné pouze pro nerootované telefony.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Matlog Record Widget vedle nefunkční aplikace

Po aktivaci a otevření bude Matlog zobrazovat systémové události v reálném čase. Klepnutím na tlačítko pauzy to zastavíte, poté klepněte na nabídku elips a vyberte „vymazat“, abyste pole zbavili nadbytečných dat. Doporučuje se to udělat při přípravě protokolování nefunkční aplikace, aby se snížila velikost protokolu. Chcete-li kroky, a tedy i délku logu ještě více zkrátit, přidejte widget Matlog na úvodní obrazovku vedle příslušné padající aplikace, jak je znázorněno vpravo. v tomto případě Apktool X je naše nefunkční aplikace.

Klepnutím na widget vám umožní pojmenovat a začít zaznamenávat protokol. Poté jednoduše zopakujte poruchu ihned po zahájení protokolování, což naplní Logcat relevantními informacemi pro váš problém. Jakmile je problém reprodukován, jednoduše znovu klepněte na widget a dokončete záznam protokolu.

Když tak učiníte, Matlog otevře zachycený protokol. Klepněte na elipsy a vyberte „odeslat“ pro odeslání protokolu e-mailem jako přiložený textový soubor spolu s obecnými informacemi o zařízení. A je to! Váš Logcat byl úspěšně zachycen a odeslán k profesoru Oakovi.

V mém příkladu výše mohu říct, že důvodem, proč Apktool X havaroval, je to, že moje zařízení není odkořeněné. Doh! Měl bych mít naplno přečíst článek než se pokusíte aplikaci použít.

To bylo příliš snadné

Samozřejmě, ne všechny problémy je tak snadné zachytit. Někdy problémy související se spouštěním nebo problémy, které se táhnou delší dobu, mohou vyžadovat zachycení různých funkcí aplikace. V takových případech budete chtít nechat Matlog běžet na pozadí (nezastavovat jej ani nemazat) a využít funkce Log Level a Filter k analýze dat.

Ačkoli to není obvykle jediná nezbytná metoda pro sběr příslušných dat – některé situace vyžadují více kontextu – každý z těchto nástrojů lze použít u delších protokolů k třídění a specifikaci dat vývojář. To samozřejmě závisí na povaze chyby a na tom, co vývojář požaduje. Chcete-li použít kterýkoli z nich, jednoduše spusťte Matlog, zopakujte svůj problém, přejděte zpět do Matlogu, klepněte na tečkovou nabídku a vyberte jednu z těchto dvou metod řazení.

Výběr úrovně protokolu zobrazující pouze chyby

Úroveň protokolu

Další příkaz ADB zjednodušený Matlogem, funkce Log Level, lze použít k zobrazení specifických typů systémových událostí a zpráv. Níže je uveden stručný popis různých typů zpráv, jak jsou popsány na webu Android Developers a barevně označeny tak, aby odpovídaly označení Matlogu.

Od nejnižší po nejvyšší prioritu:

  • PROTI: Podrobný (obecné systémové události)
  • D: Ladění
  • : Informace
  • W: Varování
  • E: Chyba
  • F: Osudný
  • S: Tichý (nejvyšší priorita, na kterou se nikdy nic netiskne)

Funkce Log Level má odpovídající seznam těchto zpráv, které mohou filtrovat protokol na každé úrovni priority. Výběr úrovně protokolu zobrazí pouze události na úrovni vlastní priority a vyšší, což usnadňuje jejich identifikaci a seskupování místo toho, abyste museli ručně procházet četnými řádky textu – kterých někdy mohou být tisíce – tak.

Sada filtrů vyhledávání pro „Apktool“

Filtry

Filtry lze také použít k třídění dat protokolu. Zahájením vyhledávání klíčových slov je uživateli umožněno vidět pouze zprávy, které explicitně odkazují na toto klíčové slovo. Užitečná klíčová slova mohou zahrnovat název nefunkční aplikace nebo dokonce slovo „chyba“, protože zahrnuje výskyty výrazu na všech úrovních priority. ne zahrnují všechny chyby „Úroveň protokolu“.

Pokud zjistíte, že často hledáte/filtrujete určitá klíčová slova, když pomáháte vývojáři s laděním aplikace (nebo pokud vývojář explicitně vytvořil jedinečnou událost protokolu, kterou můžete vyhledat), pak můžete také uložit filtr, ke kterému se můžete vrátit budoucnost. To je užitečné, když předem víte, co hledáte, což se při práci ve spojení s vývojářem stává poměrně často.

Jste připraveni ladit?

I když možná ne Nyní být odborníkem na ladění aplikací pro Android, naučit se shromažďovat a odesílat Logcats z vás může udělat skvělý zdroj pro vývojáře vašich oblíbených aplikací. Pomocí Matlogu a jeho funkcí popsaných výše nebylo shromažďování, třídění a odesílání příslušných informací o nefunkční aplikaci nikdy jednodušší.


Použili jste Matlog nebo jinou aplikaci Logcat? Pomohl vám tento průvodce? Dejte nám vědět v komentářích níže!