Reklame
Android gør et rigtig godt stykke arbejde med at skjule nitty-gritty for sine brugere. Når ting går galt, ser du ikke en skræmmende væg af kryptisk tekst, ligesom du gør på en Mac. De bare... Gå galt.
Selvom det er godt for de fleste mennesker, er det mindre nyttigt for udviklere, der ønsker at se, hvorfor deres apps ikke fungerer, og for strømbrugere, der ønsker at tage en mere hands-on tilgang.
Derfor er logcat så utroligt hjælpsom. Det giver dig mulighed for at få et dump af din telefon eller tablets systemlogfiler for at fejlsøge problemer. Selvom de fleste brugere ikke har brug for det, vil udviklere undertiden bede brugerne om at give dem enhedens logfiler, når der opstår et problem. Sådan kan du installere logcat, og hvordan du bruger den.
Henter Logcat
Inden du begynder at fremstille systemlogfiler, skal du først opfylde nogle forudsætninger. Den første er at installere Android Debug Bridge, almindeligvis kendt som ADB Er du ny på Android Debug Bridge? Sådan gør processen enkel og let ADB er utroligt nyttigt til at sende kommandoer til din Android-enhed fra din computer. For begyndere derude er her en død, enkel måde at bruge ADB på. Læs mere . Dette indeholder Logcat-værktøjet.
Hvis du er på en Mac, som jeg er, er den enkleste måde at gøre dette ved at bruge HomeBrew-pakkeadministrator Sådan installeres Mac-apps i terminal ved hjælp af HomebrewVidste du, at du kan installere Mac-software i terminalen? Sådan bruges Homebrew til let at installere Mac-apps. Læs mere . Når det er installeret, skal du bare køre “Bryg installer android-platform-værktøjer”.
Hvis du er på Linux, varierer de trin, der kræves for at installere ADB, vildt mellem distributionerne. Hvis du er på Ubuntu, skal du bare køre “Sudo apt-get install android-tools-adb”.
Endelig, hvis du er på Windows, har du et par muligheder. For det første har XDADevelopers en et-klik ADB-installationsprogram, som inkluderer de nødvendige drivere og FastBoot. Alternativt kan du installere det via Chocolatey-pakkehåndteringen, selvom den tilgængelige version ikke er den nyeste.
Sæt din enhed i udvikler-tilstand
Dernæst aktiverer du udviklertilstand på din enhed. For at gøre det skal du åbne dine indstillinger og gå til "Om telefon" eller "Om tablet". Rul derefter ned til bunden af skærmen og tryk på “Build Number” syv gange. Når du har gjort det, skal det fortælle dig, at du er gået i Developer Mode.
Tryk tilbage og gå til indstillings rodkataloget, hvor du skal se noget, der siger “Udviklerindstillinger”. Tryk på det.
Derefter, tænd USB Debugging Hvad er USB-fejlfindingstilstand på Android? Sådan aktiveres detBrug for at tillade USB-debugging på din Android? Vi forklarer, hvordan du bruger fejlsøgningstilstand til at skubbe kommandoer fra din pc til din telefon. Læs mere og tilslut din Android-enhed til din computer. Hvis alt fungerede i orden, skal du se en streng se advarsel dukke op på din enhed.
Ser på logfiler
Nu kan vi begynde at se på logfiler. Åbn en ny terminal eller kommandoprompt, og kør “Adb logcat”. Du skal derefter se systemmeddelelser kaskade ned i terminalvinduet. Hvis du ikke gør det, betyder det, at noget er gået galt. Enten er din enhed ikke forbundet til din computer, ADB blev ikke installeret korrekt, eller du har ikke USB-fejlfinding på din enhed.
Så hvad nu hvis du vil kopiere din telefon- eller tablets systemmeddelelser til en tekstfil til senere analyse? Syntaksen til omdirigering af output er den samme på Windows, som på en Mac. Bare løb “Adb logcat> textfile.txt”. Du kan også udføre dette ved at køre "adb logcat -f filnavn ”.
Når du har fået logfilen, kan du analysere den ved hjælp af Sed og Awk Hver Linux-geek behøver at kende Sed og Awk. Her er hvorfor ...To af de mest kriminelt under-værdsatte Linux-værktøjer er den ganske vist arcane Sed og Awk. Men hvad er de? Hvordan bruges de? Og hvordan gør de det lettere at behandle tekst? Læs mere eller grep, eller du kan bare sende det videre til udvikleren, der anmodede om det.
Det er værd at påpege, at logcat kører så længe du fortæller det. Hvis du kopierer output til en tekstfil og glemmer at afslutte forbindelsen, skal du ikke blive overrasket, hvis du ender med ikke plads på harddisken. Tryk på for at lukke det CTRL-C.
Som enhver, der nogensinde har arbejdet i DevOps eller systemadministration, vil fortælle dig, kan logfiler ganske let strække sig ind i snesevis af gigabyte, og videre. Du er blevet advaret.
En note om filtrering af output
Det er værd at bemærke, at du kan fortælle logcat at prioritere visse typer output. Hvis du kører logcat med "V" -flagget ("adb logcat V"), ser du absolut alt. Det er fordi du har aktiveret "verbose mode".
Men der er andre triggere, der viser dig mere specifikke typer fejlmeddelelser. “Jeg” -trigeren viser kun info, mens “D” viser fejlfinding af beskeder. For mere information, tjek den officielle Android Debug Bridge-dokumentation.
Skønt det er værd at bemærke, at medmindre det er blevet fortalt dig andet, er det bedst at køre logcat ved hjælp af standardindstillingerne. Dette er, så den person, der har anmodet om logfilen, kan få alle de oplysninger, de har brug for for at rette deres app, og de ikke går glip af noget.
Er der en løsning for rodede enheder?
Faktisk ja! Hvis du har en rodfæstet telefon eller tablet, kan du installere "aLogCat" fra Google Play Store. Dette kommer i en gratis version og en betalt version. Begge er identiske, selvom sidstnævnte støtter udvikleren økonomisk.
Hvad der gør aLogCat anderledes er, at den kører direkte på din enhed og kommer med nogle funktioner, der gør det lettere at håndtere fejllogfiler.
Meddelelser fremhæves, så du visuelt kan se, hvilke meddelelser der er fejl, og hvad der er uskyldige systemunderretninger. Du kan også dele dem via e-mail, bluetooth og på PasteBin via PasteDroid.
Hvis du kontinuerligt vil gemme dine logfiler direkte på et SD-kort, skal du downloade et andet program kaldet aLogRec. Dette kommer også i en gratis version og en doneret version, og den kan købes fra Google Play Store.
Men hvad nu hvis du vil se og redigere logfilerne direkte på din telefon? Til det anbefaler jeg Vim Touch, som er en gratis mobilversion af VIM-teksteditor De 7 vigtigste grunde til at give Vim-teksteditoren en chanceI årevis har jeg prøvet den ene teksteditor efter den anden. Navn det, jeg prøvede det. Jeg brugte hver eneste af disse redaktører i over to måneder som min primære daglige redaktør. På en eller anden måde ... Læs mere . Jeg skrev først om dette for et par år siden, da jeg drøftede de bedste måder at oprette en PHP-udviklingsmiljø på en Android-enhed Opret det perfekte PHP-udviklingsmiljø i AndroidDet er dårligt at bruge et uhyggeligt virtuelt tastatur til at skrive en Facebook-statusopdatering. Skriver kode på Android? Forgå tanken. Læs mere .
Før vi pakker op tingene, vil jeg påpege, at rodfæstelse af din telefon kan resultere i din telefon være mere modtagelige for malware, og visse applikationer (især bankapplikationer) ikke arbejder.
Hvis du overvejer det rodfæst din enhed Den komplette guide til rodfæstelse af din Android-telefon eller -tabletSå vil du rodfeste din Android-enhed? Her er alt hvad du har brug for at vide. Læs mere bare for at komme til dine logfiler, jeg stærkt anbefaler du i stedet at bruge den bundne, ADB-baserede tilgang. Det er lige så let, og vej mere sikker.
Over til dig!
Har du nogensinde været nødt til at få fat i din telefon eller tablet's systemlog? Hvorfor? Synes du det var let? Hvilken metode brugte du? Fortæl mig det i kommentarerne herunder.
Matthew Hughes er en softwareudvikler og forfatter fra Liverpool, England. Han findes sjældent uden en kop stærk sort kaffe i hånden og forguder absolut sin Macbook Pro og hans kamera. Du kan læse hans blog på http://www.matthewhughes.co.uk og følg ham på twitter på @matthewhughes.