Ti è mai capitato che la tua app preferita si bloccasse improvvisamente? Vuoi aiutare lo sviluppatore a eseguire il debug di ciò che è successo? Scopri come acquisire e filtrare Logcats con la nostra guida.
I croati sventolano la bandiera dell'UE mentre celebrano l'adesione della Croazia all'Unione europea in piazza Ban Jelesic a Zagabria il 30 giugno 2013. Decine di migliaia di croati hanno applaudito l'ingresso del Paese nell'Unione europea a mezzanotte di domenica (22:00 GMT), quasi due decenni dopo la fine della sanguinosa guerra d'indipendenza dell'ex repubblica jugoslava. FOTO AFP/STRINGER
È successo a tutti prima o poi. Non c’è vergogna nell’ammetterlo. A volte le app Android si bloccano. Sia che tu stia utilizzando un dispositivo completamente di serie per eseguire Google Maps o una ROM altamente personalizzata con un modulo Xposed migliorare Google Hangouts, possono verificarsi arresti anomali dell'applicazione e altri problemi che possono persino diventare un vero ostacolo. Ciò è particolarmente vero nello sviluppo di modifiche e applicazioni su scala ridotta come le numerose presenti sul nostro sito Web. Quando sorgono problemi, uno degli spunti più costruttivi e utili che l'utente può fornire allo sviluppatore sulla natura dell'incidente è fornire un
Logcat. Sebbene estremamente utile per gli sviluppatori, ottenere queste informazioni può sembrare un po' scoraggiante per un utente normale.Tipicamente coinvolgente strumenti da riga di comando tramite ADB, Logcat è fuori portata per molti utenti che hanno poca o nessuna esperienza con la riga di comando. Tuttavia, il rilascio di alcune app ha eliminato, o almeno notevolmente ridotto, il coinvolgimento dei comandi ADB nel recupero e nell'invio di un Logcat, rendendolo semplice come pochi tocchi sullo schermo. Nella nostra missione infinita per aiutare lo sviluppo degli sviluppatori, ecco una guida per principianti per insegnare agli utenti come inviare un Logcat.
Cos'è un Logcat e come ne estraiamo uno?
Un Logcat è uno strumento ADB Shell utilizzato per estrarre un registro di tutti gli eventi di sistema. Ciò include errori, avvisi, analisi dello stack e occorrenze generali del sistema. Quando si verifica un errore, le informazioni chiave che puntano all'origine dell'errore vengono visualizzate in questo registro, rendendolo uno strumento molto utile per la risoluzione dei problemi. Normalmente, questi vengono estratti e filtrati tramite comandi ADB. Tuttavia, app come aLogcat, Catalogoe il nostro strumento preferito per questo articolo, Matlog, hanno risparmiato agli utenti la fatica compilando questi strumenti di comando nella GUI di un'app scaricabile dal Play Store.
Come accennato, Matlog è ciò che utilizziamo per raccogliere Logcats. Scelto per la sua interfaccia semplice ma intuitiva, Matlog è stato realizzato da XDA Junior Member plusCubed e basato su Nolan Lawson app open source Catlog. Come Catlog, Matlog può esserlo compilato dalla fonte, O scaricato gratuitamente dal Google Play Store. Anche se il root ti consente di saltare un passaggio durante la configurazione, non è richiesto l'accesso root per raccogliere Logcats. Se il tuo dispositivo non è rootato, un singolo comando della shell ADB garantirà all'applicazione l'accesso per leggere i registri del tuo dispositivo. Non hai ancora configurato ADB sul tuo computer? Nessun problema, basta seguire questi passaggi per renderlo operativo.
Nota: i telefoni Huawei hanno l'output Logcat completamente disabilitato. Dovrai modificare un'impostazione nascosta prima di continuare con il resto di questa guida.
Configurazione dell'ADB
Primo, scarica il binario ADB direttamente da Google per il tuo particolare sistema operativo ed estrailo in una directory separata sul tuo computer. Prossimo, installare il driver corretto per il tuo telefono specifico. Quindi, abilita "Debug USB" in Impostazioni --> Opzioni sviluppatore. Se non vedi le Opzioni sviluppatore, dovrai abilitarle andando su Impostazioni --> Informazioni sul telefono, quindi toccando Numero build 7 volte. Infine, assicurati che ADB funzioni avviando un prompt dei comandi nella stessa directory del binario ADB (fai clic con il pulsante destro del mouse --> "apri prompt dei comandi qui") ed esegui il seguente comando:
adb devices
Se vedi il numero di serie del tuo dispositivo (e non dice non autorizzato), sei a posto. Se vedi un pop-up sul tuo telefono che ti chiede di concedere l'accesso ADB al tuo computer, rispondi di sì. Se non vedi nessuno dei due problemi, prova a riavviare il computer/telefono e a ricollegarlo al computer. Altrimenti prova a reinstallare il driver.
Configurazione di Matlog
Ora che hai ADB attivo e funzionante (si spera), tutto ciò che devi fare per abilitare Matlog alla possibilità di acquisire Logcats è emettere il seguente comando in una shell ADB. Ancora una volta, se il tuo dispositivo è già rootato, non è necessario eseguire questo comando poiché è necessario solo per i telefoni senza root.
adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Una volta abilitato e aperto, Matlog visualizzerà gli eventi di sistema in tempo reale. Puoi toccare il pulsante Pausa per interromperlo, quindi toccare il menu con i puntini di sospensione e selezionare "Cancella" per liberare il campo da dati estranei. Si consiglia di eseguire questa operazione in preparazione alla registrazione dell'app malfunzionante per ridurre le dimensioni del registro. Per abbreviare ulteriormente i passaggi, e quindi la lunghezza del registro, aggiungi il widget Matlog alla schermata iniziale accanto all'applicazione in questione che si blocca, come mostrato a destra. In questo caso, Apktool X è la nostra app malfunzionante.
Toccando il widget è possibile assegnare un nome e iniziare a registrare un registro. Quindi, riproduci semplicemente il malfunzionamento immediatamente dopo aver avviato la registrazione, che riempirà Logcat con informazioni pertinenti al tuo problema. Una volta riprodotto il problema, è sufficiente toccare nuovamente il widget per completare la registrazione del registro.
In tal modo, Matlog si aprirà con il registro catturato. Tocca i puntini di sospensione e seleziona "invia" per inviare tramite e-mail il registro come file di testo allegato insieme alle informazioni generali sul dispositivo. Questo è tutto! Il tuo Logcat è stato catturato e inviato con successo al Professor Oak.
Nel mio esempio sopra, posso dire che il motivo per cui Apktool X si è bloccato è perché il mio dispositivo non è rootato. Doh! Avrei dovuto farlo pienamente leggi l'articolo prima di provare a utilizzare l'app.
Era troppo facile
Naturalmente, non tutti i problemi sono così facili da catturare. A volte i problemi relativi all'avvio o i problemi che si estendono per periodi di tempo più lunghi possono richiedere l'acquisizione di funzionalità diverse dell'app. In questi casi, ti consigliamo di consentire l'esecuzione di Matlog in background (senza metterlo in pausa o cancellarlo) e utilizzare le funzioni Livello di registro e Filtro per analizzare i dati.
Sebbene in genere non sia l'unico metodo necessario per raccogliere dati pertinenti, alcune situazioni lo richiedono più contesto: ciascuno di questi strumenti può essere utilizzato su log più lunghi per ordinare e specificare i dati per il file sviluppatore. Naturalmente ciò dipende dalla natura dell'errore e da ciò che richiede lo sviluppatore. Per utilizzare uno di questi, esegui semplicemente Matlog, riproduci il problema, torna in Matlog, tocca il menu con i punti e seleziona uno di questi due metodi di ordinamento.
Livello di registro
Un altro comando ADB semplificato da Matlog, la funzione Log Level può essere utilizzata per visualizzare tipi specifici di eventi e messaggi di sistema. Di seguito è riportata una breve descrizione dei vari tipi di messaggi, come descritti dal sito Web degli sviluppatori Android e codificati a colori per corrispondere all'etichettatura di Matlog.
Dalla priorità più bassa a quella più alta:
- V: Verbose (eventi di sistema generali)
- D: Debug
- IO: Informazione
- W: Avvertimento
- E: Errore
- F: fatale
- S: Silenzioso (priorità più alta, su cui non viene mai stampato nulla)
La funzione Livello di registro ha un elenco corrispondente di questi messaggi, che può filtrare il registro a ciascun livello di priorità. Selezionando un livello di registro verranno visualizzati solo gli eventi con il proprio livello di priorità e superiore, facilitandone l'identificazione e il raggruppamento errori invece di dover scorrere manualmente numerose righe di testo, che a volte possono essere migliaia COSÌ.
Filtri
È inoltre possibile utilizzare filtri per ordinare i dati di registro. Avviando una ricerca per parola chiave, l'utente può vedere solo i messaggi che fanno riferimento esplicitamente a questa parola chiave. Le parole chiave utili possono includere il nome dell'app malfunzionante o anche la parola "errore" poiché comprende istanze del termine a tutti i livelli di priorità, sebbene non comprendere tutti gli errori "Livello di registro".
Se ti ritrovi a cercare/filtrare molto determinate parole chiave quando aiuti uno sviluppatore a eseguire il debug di un'applicazione (o se il file lo sviluppatore ha creato esplicitamente un evento di registro univoco che puoi cercare), puoi anche salvare un filtro a cui tornare il futuro. Questo è utile quando sai in anticipo cosa stai cercando, cosa che se lavori in collaborazione con uno sviluppatore, accadrà abbastanza spesso.
Pronto per eseguire il debug?
Anche se potresti non farlo Ora sii un esperto nel debug delle app Android, imparare a raccogliere e inviare Logcats può renderti un'ottima risorsa per gli sviluppatori delle tue app preferite. Utilizzando Matlog e le funzionalità di cui sopra, raccogliere, ordinare e inviare informazioni pertinenti su un'app malfunzionante non è mai stato così facile.
Hai utilizzato Matlog o un'altra app Logcat? Hai trovato utile questa guida? Fateci sapere nei commenti qui sotto!