2015-09-23 11 views
6

È possibile visualizzare anche il nome del pacchetto del registro in ogni riga?
Usoadb shell Logcat con nome pacchetto

logcat -v lungo

lascia esattamente il campo nome del pacchetto (dopo PID) vuoto.
Desidero filtrare i registri da un'applicazione specifica con tag diversi, chiedendo solo se è possibile.

risposta

4

logcat record non ha un "campo nome pacchetto". Quindi non esiste un modo standard/built-in per filtrare da esso.

Anche se da quando Android 7.0 è possibile utilizzare l'opzione logcat --pid combinato con pidof -s comando per filtrare l'uscita per nome binaria/package:

adb shell logcat --pid=$(pidof -s <package_name>) 
+0

Non funziona per me su un dispositivo basato su Marshmallow: '$ adb shell logcat -d --pid = 6693 Opzione non riconosciuta - Usage: logcat [opzioni] [filterspecs]' ... non sembra come ' --pid' è più un'opzione valida. – Jules

+0

@Jules, 'logcat --pid' è stato introdotto in Nougat –

6

Questo è il mio script. Un po 'arrugginito ma ancora funzionante.

PID=`adb shell ps | grep -i <your package name> | cut -c10-15`; 
adb logcat | grep $PID 

In realtà Ho uno script python per aggiungere più colori, e un ciclo while per mantenere il controllo di quel processo quando viene riavviato, ma penso che si ottiene il punto.

+0

In realtà non so come usarlo .. Non so nemmeno come lanciare script dalla riga di comando né come usarlo nella mia app per Android (dove in realtà voglio/ho bisogno di questo). Lo sto attualmente facendo con Runtime.getRuntime(). Exec ("su -c logcat -d -v long"); ma non ho i nomi dei pacchetti. –

+0

a cosa serve la parte 'cut -c10-15'? Grazie. –

Problemi correlati