Gids: Een Logcat sturen om u te helpen bij het opsporen van fouten in uw favoriete app

click fraud protection

Heb je ooit je favoriete app plotseling laten crashen? Wil je de ontwikkelaar helpen met het opsporen van wat er is gebeurd? Leer hoe u Logcats kunt vastleggen en filteren met onze gids.

Kroaten zwaaien met een EU-vlag terwijl ze de toetreding van Kroatië tot de Europese Unie vieren op het Ban Jelesic-plein in Zagreb op 30 juni 2013. Tienduizenden Kroaten juichten zondag om middernacht (22.00 GMT) de toetreding van het land tot de Europese Unie toe, bijna twintig jaar nadat de bloedige onafhankelijkheidsoorlog van de voormalige Joegoslavische republiek was geëindigd. AFP-FOTO / STRINGER

Het is ons allemaal wel eens overkomen. Het is geen schande om het toe te geven. Soms crashen Android-apps. Of u nu een volledig standaardapparaat gebruikt om Google Maps uit te voeren of een zeer aangepast ROM met een Xposed-module Google Hangouts verbeteren, applicatiecrashes en andere problemen kunnen optreden en zelfs behoorlijk hinderlijk worden. Dit geldt vooral bij de ontwikkeling van kleinschaligere aanpassingen en toepassingen, zoals de vele die op onze website te vinden zijn. Wanneer zich problemen voordoen, is een van de meest constructieve en nuttige inzichten die de gebruiker de ontwikkelaar kan geven over de aard van de crash, het verstrekken van een

Logkat. Hoewel het uiterst nuttig is voor ontwikkelaars, kan het verkrijgen van deze informatie voor een gewone gebruiker enigszins ontmoedigend lijken.

Typisch betrokken opdrachtregelprogramma's via ADB, is de Logcat onbereikbaar voor veel gebruikers die weinig tot geen ervaring hebben met de opdrachtregel. Door de release van bepaalde apps is de betrokkenheid van ADB-opdrachten bij het ophalen en verzenden van een Logcat echter geëlimineerd, of op zijn minst sterk verminderd, waardoor dit net zo eenvoudig is als een paar schermtikken. In onze nooit eindigende missie om de ontwikkeling voor ontwikkelaars te ondersteunen, is hier een beginnershandleiding om gebruikers te leren hoe ze een Logcat kunnen sturen.


Wat is een Logcat en hoe trekken we er een?

Een Logcat is een ADB Shell-tool die wordt gebruikt om een ​​logboek van alle systeemgebeurtenissen op te halen. Dit omvat fouten, waarschuwingen, stacktraces en algemene systeemgebeurtenissen. Wanneer er een fout optreedt, wordt belangrijke informatie die naar de oorzaak van de fout wijst, via dit logboek weergegeven, waardoor het een zeer nuttig hulpmiddel is bij het oplossen van problemen. Normaal gesproken worden deze opgehaald en gefilterd via ADB-opdrachten. Maar apps zoals aLogcat, Catalogus, en onze favoriete tool voor dit artikel, Matlog, hebben gebruikers de moeite bespaard door deze opdrachthulpmiddelen te compileren in de GUI van een Play-Store-downloadbare app.

Zoals gezegd gebruiken we Matlog voor het verzamelen van Logcats. Matlog is gekozen vanwege de eenvoudige, maar gebruiksvriendelijke interface en is gemaakt door XDA Junior Member plusCubed en gebaseerd op Nolan Lawsons open source-app Catlog. Zoals Catlog, Matlog kan dat zijn samengesteld uit de bron, of gratis te downloaden in de Google Play Store. Hoewel u door het rooten een stap kunt overslaan tijdens de installatie, root-toegang is niet vereist om Logcats te verzamelen. Als uw apparaat niet is geroot, geeft een enkele ADB-shellopdracht de toepassing toegang om de logboeken van uw apparaat te lezen. Heeft u ADB nog niet ingesteld op uw computer? Geen probleem, volg gewoon deze stappen om het aan de slag te krijgen.

Opmerking: Huawei-telefoons hebben de Logcat-uitvoer volledig uitgeschakeld. U moet een verborgen instelling wijzigen voordat u verdergaat met de rest van deze handleiding.


ADB instellen

Eerst, download het ADB-binaire bestand rechtstreeks van Google voor uw specifieke besturingssysteem en pak het uit naar een aparte map op uw computer. Volgende, installeer het juiste stuurprogramma voor uw specifieke telefoon. Schakel vervolgens "USB-foutopsporing" in Instellingen -> Opties voor ontwikkelaars in. Als u Opties voor ontwikkelaars niet ziet, moet u deze inschakelen door naar Instellingen -> Over de telefoon te gaan en vervolgens zeven keer op Build-nummer te tikken. Zorg er ten slotte voor dat ADB werkt door een opdrachtprompt te starten in dezelfde map als het binaire bestand van ADB (klik met de rechtermuisknop --> "open opdrachtprompt hier") en voer de volgende opdracht uit:

adb devices

Als je het serienummer van je apparaat ziet (en er staat niet 'ongeautoriseerd'), zit je goed. Als u een pop-up op uw telefoon ziet waarin u wordt gevraagd uw computer ADB-toegang te verlenen, zeg dan ja. Als u geen van beide ziet gebeuren, probeer dan uw computer/telefoon opnieuw op te starten en opnieuw op uw computer aan te sluiten. Probeer anders het stuurprogramma opnieuw te installeren.


Matlog instellen

Nu je ADB actief hebt (hopelijk), hoef je alleen maar de volgende opdracht in een ADB-shell uit te voeren om Matlog de mogelijkheid te geven om Logcats vast te leggen. Nogmaals, als uw apparaat al is geroot, hoeft u deze opdracht niet uit te voeren, aangezien dit alleen nodig is voor niet-geroote telefoons.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Matlog Record Widget naast de defecte app

Eenmaal ingeschakeld en geopend, geeft Matlog systeemgebeurtenissen in realtime weer. U kunt op de pauzeknop tikken om dit te stoppen, vervolgens op het ellipsenmenu tikken en 'wissen' selecteren om het veld met overbodige gegevens te verwijderen. Het wordt aanbevolen om dit te doen ter voorbereiding op het loggen van de defecte app om de loggrootte te verkleinen. Om de stappen, en dus de loglengte nog verder in te korten, voeg je de Matlog-widget toe aan je startscherm naast de betreffende crashende applicatie, zoals rechts weergegeven. Op dit moment, Apktool X is onze defecte app.

Door op de widget te tikken, kunt u een log een naam geven en beginnen met opnemen. Vervolgens reproduceert u eenvoudigweg de storing onmiddellijk nadat u met het loggen bent begonnen, waardoor de Logcat wordt gevuld met relevante informatie voor uw probleem. Zodra het probleem is gereproduceerd, tikt u eenvoudig opnieuw op de widget om de logopname te voltooien.

Als u dit doet, wordt Matlog geopend met het vastgelegde logboek. Tik op de ellipsen en selecteer 'verzenden' om het logboek als bijgevoegd tekstbestand te e-mailen, samen met algemene apparaatinformatie. Dat is het! Uw Logcat is succesvol vastgelegd en verzonden aan professor Eik.

In mijn voorbeeld hierboven kan ik zien dat de reden dat Apktool X crashte, is omdat mijn apparaat niet is geroot. Doe! Ik had het volledig moeten doen Lees het artikel voordat u de app probeert te gebruiken.

Dat was te gemakkelijk

Natuurlijk zijn niet alle problemen zo eenvoudig vast te leggen. Soms kunnen problemen met het opstarten, of problemen die zich over een langere periode uitstrekken, verschillende functies van de app vereisen om vast te leggen. In dergelijke gevallen wilt u Matlog op de achtergrond laten draaien (niet pauzeren of wissen) en de functies Logniveau en Filter gebruiken om de gegevens te analyseren.

Hoewel dit doorgaans niet de enige noodzakelijke methode is voor het verzamelen van relevante gegevens, is dit in sommige situaties wel vereist meer context – elk van deze tools kan op langere logs worden gebruikt om gegevens voor de ontwikkelaar. Dit hangt uiteraard af van de aard van de fout en wat de ontwikkelaar vraagt. Om een ​​van deze te gebruiken, voert u eenvoudigweg Matlog uit, reproduceert u uw probleem, navigeert u terug naar Matlog, tikt u op het stippenmenu en selecteert u een van deze twee sorteermethoden.

Selectie van logniveau toont alleen fouten

Log niveau

Een andere ADB-opdracht, vereenvoudigd door Matlog, de Log Level-functie, kan worden gebruikt om specifieke soorten systeemgebeurtenissen en berichten te bekijken. Hieronder vindt u een korte beschrijving van de verschillende berichttypen, zoals beschreven door de Android Developers-website en met een kleurcode die overeenkomt met de labels van Matlog.

Van laagste naar hoogste prioriteit:

  • V: Uitgebreid (algemene systeemgebeurtenissen)
  • D: Foutopsporing
  • I: Informatie
  • W: Waarschuwing
  • E: Fout
  • F: Fataal
  • S: Stil (hoogste prioriteit, waarop nooit iets wordt afgedrukt)

De functie Logniveau heeft een overeenkomstige lijst met deze berichten, waarmee het logboek op elk prioriteitsniveau kan worden gefilterd. Als u een logniveau selecteert, worden alleen gebeurtenissen met het eigen prioriteitsniveau of hoger weergegeven, wat een gemakkelijke identificatie en groepering ervan vergemakkelijkt fouten in plaats van dat u handmatig door talloze regels tekst moet scrollen (wat soms wel duizenden kan zijn). Dus.

Zoekfilterset voor “Apktool”

Filters

Er kunnen ook filters worden gebruikt om loggegevens te sorteren. Door een zoekopdracht op trefwoord te starten, kan de gebruiker alleen berichten zien waarin expliciet naar dit trefwoord wordt verwezen. Nuttige trefwoorden kunnen de naam van de defecte app zijn of zelfs het woord ‘fout’, aangezien dit gevallen van de term op alle prioriteitsniveaus omvat. doet niet omvatten alle “Log Level”-fouten.

Als u merkt dat u vaak op bepaalde trefwoorden zoekt/filtert wanneer u een ontwikkelaar helpt bij het debuggen van een applicatie (of als de ontwikkelaar expliciet een unieke loggebeurtenis heeft gemaakt waarnaar u kunt zoeken), dan kunt u ook een filter opslaan waarnaar u kunt terugkeren de toekomst. Dit is handig als u vooraf weet waarnaar u op zoek bent, wat vaak zal gebeuren als u samenwerkt met een ontwikkelaar.

Klaar om te debuggen?

Terwijl jij dat misschien niet doet nu wees een expert in het debuggen van Android-apps. Als u leert hoe u Logcats verzamelt en verzendt, kunt u een geweldige hulpbron worden voor de ontwikkelaars van uw favoriete apps. Met behulp van Matlog, en de hierboven beschreven functies, is het verzamelen, sorteren en verzenden van relevante informatie over een defecte app nog nooit zo eenvoudig geweest.


Heeft u Matlog of een andere Logcat-app gebruikt? Vond u deze handleiding nuttig? Laat het ons weten in de reacties hieronder!