Annonse

Android gjør en virkelig god jobb med å skjule den nitty-gritty for sine brukere. Når ting går galt, ser du ikke en skremmende vegg med kryptisk tekst, akkurat som på en Mac. De bare... Gå galt.

WallOfErrors

Selv om det er bra for folk flest, er det mindre nyttig for utviklere som ønsker å se hvorfor appene deres ikke fungerer, og for strømbrukere som vil ta en mer praktisk tilnærming.

Derfor er logcat så utrolig nyttig. Den lar deg få en dump av systemloggene på telefonen eller nettbrettet for å feilsøke problemer. Selv om de fleste brukere ikke har bruk for det, vil utviklere noen ganger be brukerne om å gi dem enhetens loggfiler når det oppstår et problem. Slik kan du installere logcat, og hvordan du bruker den.

Å få Logcat

Før du begynner å produsere systemlogger, må du først oppfylle noen forutsetninger. Den første er å installere Android Debug Bridge, ofte kjent som ADB Er du ny på Android Debug Bridge? Hvordan gjøre prosessen enkel og enkelADB er utrolig nyttig for å sende kommandoer til Android-enheten din fra datamaskinen din. For nybegynnere der ute, her er en død enkel måte å bruke ADB på.

instagram viewer
Les mer . Dette inneholder Logcat-verktøyet.

Hvis du er på en Mac, som jeg er, er den enkleste måten å gjøre dette på å bruke HomeBrew pakkesjef Slik installerer du Mac-apper i terminal ved hjelp av HomebrewVisste du at du kan installere Mac-programvare i terminalen? Slik bruker du Homebrew til å installere Mac-apper enkelt. Les mer . Når du er installert, trenger du bare å kjøre “Bryg installer android-plattform-verktøy”.

BrewAndroid

Hvis du er på Linux, vil trinnene som kreves for å installere ADB, variere veldig mellom distribusjonene. Hvis du er på Ubuntu, trenger du bare å løpe “Sudo apt-get install android-tools-adb”.

Til slutt, hvis du er på Windows, har du et par alternativer. For det første har XDADevelopers en ett-klikk ADB-installasjonsprogram, som inkluderer driverne som trengs og FastBoot. Alternativt kan du installere det via Chocolatey-pakkehåndteringen, selv om den tilgjengelige versjonen ikke er den nyeste.

Sett enheten din i utviklermodus

Deretter skal du aktivere utviklermodus på enheten din. For å gjøre det, åpne innstillingene og gå til “Om telefon” eller “Om nettbrett”. Deretter blar du ned til bunnen av skjermen og banker på “Build Number” syv ganger. Når du har gjort det, skal det fortelle deg at du har gått inn i utviklermodus.

Utviklermodus

Trykk tilbake og gå til Innstillinger-rotkatalogen, der du skal se noe som sier “Utvikleralternativer”. Trykk på det.

Utviklermuligheter

Deretter, slå på USB Debugging Hva er USB-feilsøkingsmodus på Android? Slik aktiverer du detTrenger du å tillate USB-feilsøking på Android-en din? Vi forklarer hvordan du bruker feilsøkingsmodus for å skyve kommandoer fra PC-en til telefonen. Les mer og koble Android-enheten til datamaskinen din. Hvis alt fungerte bra, bør du se en streng advarsel dukke opp på enheten din.

USBDebugging

Ser på logger

Nå kan vi begynne å se på logger. Åpne en ny terminal eller ledetekst, og kjør “Adb logcat”. Du skal da se systemmeldinger kaskade ned i terminalvinduet. Hvis du ikke gjør det, betyr det at noe har gått galt. Enten er enheten ikke koblet til datamaskinen din, ADB ble ikke installert riktig, eller så har du ikke USB-feilsøking på enheten din.

debugging

Så hva om du vil kopiere telefon- eller nettbrettets systemmeldinger til en tekstfil for senere analyse? Syntaks for omdirigering av utdata er den samme på Windows som på en Mac. Bare løp “Adb logcat> textfile.txt”. Du kan også oppnå dette ved å kjøre “adb logcat -f filnavn ”.

Når du har fått loggfilen, kan du analysere den ved å bruke Sed og Awk Hver Linux-geek trenger å vite Sed og Awk. Her er hvorfor ...To av de mest kriminelt under-verdsatte Linux-verktøyene er riktignok de arcane Sed og Awk. Men hva er de? Hvordan brukes de? Og hvordan gjør de det lettere å behandle tekst? Les mer eller grep, eller du kan bare sende den til utvikleren som ba om det.

Det er verdt å påpeke at logcat vil kjøre så lenge du ber om det. Hvis du kopierer utdata til en tekstfil og glemmer å avslutte tilkoblingen, bør du ikke bli overrasket hvis du ender uten harddiskplass. Trykk for å lukke den CTRL-C.

Som alle som noen gang har jobbet i DevOps eller systemadministrasjon vil fortelle deg, kan loggfiler ganske enkelt strekke seg inn i titalls gigabyte, og utover. Du har blitt advart.

En merknad om filtrering

Det er verdt å merke seg at du kan fortelle logcat å prioritere visse typer utdata. Hvis du kjører logcat med "V" -flagget ("adb logcat V"), vil du se absolutt alt. Det er fordi du har aktivert "verbose mode".

LogcatV

Men det er andre utløsere som viser deg mer spesifikke typer feilmeldinger. “Jeg” -utløseren viser bare info, mens “D” viser feilsøkingsmeldinger. For mer informasjon, sjekk den offisielle Android Debug Bridge-dokumentasjon.

Selv om det er verdt å merke seg at med mindre du har blitt fortalt noe annet, er det best å kjøre logcat ved å bruke standardinnstillingene. Dette er slik at personen som har bedt om loggfilen kan få all informasjonen de trenger for å fikse appen sin, og de ikke går glipp av noe.

Er det en løsning for rotede enheter?

Faktisk ja! Hvis du har en forankret telefon eller nettbrett, kan du installere "aLogCat" fra Google Play Store. Denne kommer i en gratis versjon, og en betalt versjon. Begge er identiske, selv om sistnevnte støtter utvikleren økonomisk.

aLogCat

Det som gjør aLogCat annerledes er at den kjører direkte på enheten din, og kommer med noen funksjoner som gjør det lettere å håndtere feillogger.

Meldinger blir uthevet, slik at du visuelt kan se hvilke meldinger som er feil, og hva som er uskyldige systemvarsler. Du kan også dele dem via e-post, Bluetooth og på PasteBin via PasteDroid.

Hvis du kontinuerlig vil lagre loggene dine direkte på et SD-kort, må du laste ned et annet program som heter aLogRec. Også denne kommer i en gratis versjon og en donasjonsversjon, og den kan kjøpes fra Google Play Store.

alogrec

Men hva hvis du vil vise og redigere loggfilene direkte på telefonen din? For det anbefaler jeg Vim Touch, som er en gratis mobilversjon av VIM teksteditor De 7 viktigste grunnene til å gi Vim-tekstredigereren en sjanseI årevis har jeg prøvd den ene tekstredigereren etter den andre. Du heter det, jeg prøvde det. Jeg brukte hver og en av disse redaktørene i over to måneder som min primære daglige redaktør. På en eller annen måte, jeg ... Les mer . Jeg skrev først om dette for noen år siden, da jeg diskuterte de beste måtene å sette opp en PHP-utviklingsmiljø på en Android-enhet Lag det perfekte PHP-utviklingsmiljøet i AndroidÅ bruke et skrekkelig virtuelt tastatur for å skrive en Facebook-statusoppdatering er ille nok. Skrive kode på Android? Forgå tanken. Les mer .

Før vi pakker opp ting, vil jeg påpeke at det å føre telefonen til å rote kan føre til telefonen din være mer utsatt for skadelig programvare, og visse applikasjoner (spesielt bankapplikasjoner) ikke arbeider.

Hvis du vurderer rooting enheten din Den komplette guiden for å roote din Android-telefon eller nettbrettSå ønsker du å rote Android-enheten din? Her er alt du trenger å vite. Les mer bare for å få tilgang til loggfilene dine, jeg sterk anbefaler at du bruker den sammenkoblede, ADB-baserte tilnærmingen i stedet. Det er like enkelt, og vei mer sikkert.

Over til deg!

Har du noen gang måttet få tak i telefonloggen eller nettbrettets systemlogg? Hvorfor det? Fant du det enkelt? Hvilken metode brukte du? Gi meg beskjed i kommentarene nedenfor.

Matthew Hughes er programvareutvikler og skribent fra Liverpool, England. Han blir sjelden funnet uten en kopp sterk svart kaffe i hånden og elsker absolutt Macbook Pro og kameraet hans. Du kan lese bloggen hans på http://www.matthewhughes.co.uk og følg ham på twitter på @matthewhughes.