Annons
Android gör ett riktigt bra jobb med att dölja den nitty-gritty från sina användare. När saker går fel ser du inte en skrämmande vägg med kryptisk text, precis som på en Mac. De bara... Gå fel.
Även om det är bra för de flesta, är det mindre bra för utvecklare som vill se varför deras appar inte fungerar, och för kraftanvändare som vill ta en mer praktisk upplevelse.
Därför är logcat så otroligt bra. Det låter dig få en dumpning av telefonens eller surfplattens systemloggar för att felsöka problem. Även om de flesta användare inte har något bruk för det, kommer utvecklare ibland att be användarna att ge dem enhetens loggfiler när ett problem uppstår. Så här kan du installera logcat och hur du använder den.
Skaffa Logcat
Innan du börjar producera systemloggar måste du först uppfylla vissa förutsättningar. Den första är att installera Android Debug Bridge, vanligen känd som ADB Är du ny på Android Debug Bridge? Hur man gör processen enkel och enkelADB är oerhört användbart för att skicka kommandon till din Android-enhet från din dator. För nybörjare där ute, här är ett död enkelt sätt att använda ADB. Läs mer . Detta innehåller Logcat-verktyget.
Om du är på en Mac, som jag, är det enklaste sättet att göra detta genom att använda HomeBrew-paketansvarig Hur man installerar Mac-appar i terminal med HomebrewVisste du att du kan installera Mac-programvara i terminalen? Så här använder du Homebrew för att enkelt installera Mac-appar. Läs mer . När du väl har installerat behöver du bara köra "Brygga installera Android-plattform-verktyg".
Om du är på Linux kommer stegen som krävs för att installera ADB att variera mycket mellan distributionerna. Om du är på Ubuntu behöver du bara springa “Sudo apt-get install android-tools-adb”.
Slutligen, om du är på Windows, har du ett par alternativ. Först har XDADevelopers en ett klick ADB-installationsprogram, som inkluderar de drivrutiner som behövs och FastBoot. Alternativt kan du installera det via Chocolatey-pakethanteraren, även om den tillgängliga versionen inte är den senaste.
Sätt din enhet i utvecklarläge
Därefter kommer du att aktivera utvecklarläge på din enhet. För att göra det, öppna dina inställningar och gå till "Om telefon" eller "Om surfplatta". Bläddra sedan ner till botten av skärmen och tryck på “Build Number” sju gånger. När du har gjort det ska det säga att du har gått in i utvecklarläge.
Tryck tillbaka och gå till Inställningens rotkatalog, där du ska se något som säger “Developer Options”. Peka på det.
Sedan, slå på USB-felsökning Vad är USB-felsökningsläge på Android? Så här aktiverar du detBehöver du tillåta USB-felsökning på din Android? Vi förklarar hur du använder felsökningsläge för att skjuta kommandon från din PC till din telefon. Läs mer och anslut din Android-enhet till din dator. Om allt fungerade bra, bör du se en sträng utseende varning dyker upp på din enhet.
Titta på stockar
Nu kan vi börja titta på stockar. Öppna en ny terminal eller kommandotolk och kör “Adb logcat”. Du bör sedan se systemmeddelanden kaskad ner i terminalfönstret. Om du inte gör det betyder det att något har gått fel. Antingen är din enhet inte ansluten till din dator, ADB installerades inte korrekt, eller så har du inte USB-felsökning på din enhet.
Så, om du vill kopiera telefon- eller surfplattans systemmeddelanden till en textfil för senare analys? Syntaxen för omdirigering av utdata är densamma i Windows som på en Mac. Bara spring “Adb logcat> textfile.txt”. Du kan också göra detta genom att köra "adb logcat -f filnamn ”.
När du har fått loggfilen kan du analysera den med Sed och Awk Varje Linux-geek behöver känna till Sed och Awk. Här är varför ...Två av de mest kriminellt underuppskattade Linux-verktygen är de riktigt bågfria Sed och Awk. Men vad är de? Hur används de? Och hur gör de det lättare att bearbeta text? Läs mer eller grep, eller så kan du bara skicka det till utvecklaren som begärde det.
Det är värt att påpeka att logcat kommer att köras så länge du berättar för det. Om du kopierar utdata till en textfil och glömmer att avsluta anslutningen, bör du inte bli förvånad om du hamnar utan hårddiskutrymme. För att stänga det, tryck bara på CTRL-C.
Som alla som någonsin har arbetat i DevOps eller systemadministration kommer att berätta för dig, kan loggfiler ganska enkelt sträcka sig in i tiotals gigabyte, och vidare. Du har blivit varnad.
En anmärkning om filtrering av utgången
Det är värt att notera att du kan be logcat att prioritera vissa typer av output. Om du kör logcat med "V" -flaggan ("adb logcat V") ser du absolut allt. Det beror på att du har aktiverat ”verbosläge”.
Men det finns andra triggers som visar mer specifika typer av felmeddelanden. "Jag" -utlösaren visar bara information, medan "D" visar felsökningsmeddelanden. För mer information, kolla in tjänstemannen Android Debug Bridge-dokumentation.
Det är dock värt att notera att såvida du inte har fått höra något annat, är det bäst att köra logcat med standardinställningarna. Det här är så att personen som har begärt loggfilen kan få all information de behöver för att fixa sin app, och att de inte missar någonting.
Finns det en lösning för rotade enheter?
Faktiskt ja! Om du har en rotad telefon eller surfplatta kan du installera "aLogCat" från Google Play Store. Detta kommer i en gratis version och en betald version. Båda är identiska, även om den senare stöder utvecklaren ekonomiskt.
Det som gör aLogCat annorlunda är att den körs direkt på din enhet och har vissa funktioner som gör det lättare att hantera felloggar.
Meddelanden markeras, så att du visuellt kan se vilka meddelanden som är fel och vad som är oskadliga systemmeddelanden. Du kan också dela dem via e-post, Bluetooth och på PasteBin via PasteDroid.
Om du kontinuerligt vill spara dina loggar direkt på ett SD-kort måste du ladda ner ett annat program som kallas aLogRec. Även detta finns i en gratisversion och en donationsversion, och den kan förvärvas från Google Play Store.
Men vad händer om du vill visa och redigera loggfilerna direkt på din telefon? För det rekommenderar jag Vim Touch, som är en gratis mobilversion av VIM textredigerare De 7 främsta orsakerna till att ge Vim Text Editor en chansI flera år har jag provat den ena textredigeraren efter den andra. Namnlösa, jag försökte det. Jag använde var och en av dessa redaktörer i över två månader som min primära dagliga redaktör. På något sätt ... Läs mer . Jag skrev först om detta för några år sedan, när jag diskuterade de bästa sätten att skapa en PHP-utvecklingsmiljö på en Android-enhet Skapa den perfekta PHP-utvecklingsmiljön i AndroidAtt använda ett förfärligt virtuellt tangentbord för att skriva en Facebook-statusuppdatering är tillräckligt dåligt. Skriver du kod på Android? Förgå tanken. Läs mer .
Innan vi packar upp saker, vill jag påpeka att det kan leda till att du rota din telefon vara mer mottagliga för skadlig programvara och vissa applikationer (särskilt bankapplikationer) inte arbetssätt.
Om du funderar på rooting din enhet Den kompletta guiden för att rota din Android-telefon eller surfplattaSå vill du rota din Android-enhet? Här är allt du behöver veta. Läs mer bara för att komma till dina loggfiler, jag starkt rekommenderar att du istället använder den kopplade, ADB-baserade metoden. Det är lika enkelt och sätt mer säker.
Över till dig!
Har du någonsin varit tvungen att få tag på telefon- eller surfplattans systemlogg? Hurså? Tyckte du att det var enkelt? Vilken metod använde du? Låt mig veta i kommentarerna nedan.
Matthew Hughes är en programutvecklare och författare från Liverpool, England. Han hittas sällan utan en kopp starkt svart kaffe i handen och älskar absolut sin Macbook Pro och sin kamera. Du kan läsa hans blogg på http://www.matthewhughes.co.uk och följ honom på twitter på @matthewhughes.