2011-09-19 10 views
15

El siguiente comando de terminal muestra el logcat.Cómo salir de adb logcat

$> $SDK/platform-tools/adb logcat 

¿Pero cómo salgo de él para volver al indicador de la terminal? He intentado matar-servidor, etc. salida

Respuesta

36

Ctrl +C

+1

¿No es como una interrupción del programa actual? Pensaba que podría haber otra manera ... una salida elegante si quieres ... – OceanBlue

+0

No, no hay otra manera fácil ... y creo que de esta manera es realmente elegante. – Cristian

+2

Aquí está la cosa. Estoy tratando de leer logcat a través de mi aplicación. Yo uso Runtime.getRuntime(). Exec ("logcat -v time MyTag: D *: S"). Todo funciona bien, pero se queda ahí esperando más líneas como en una terminal. Ref: http://stackoverflow.com/questions/7473469/read-logcat-from-app-not-working-correctly/ – OceanBlue

6

Mi sugerencia:

$> $SDK/platform-tools/adb logcat -c 
    $> $SDK/platform-tools/adb logcat > log_file.txt & 
    ... run your application ... 
    $> $SDK/platform-tools/adb logcat -c 

Logcat Documentation

-c Clears (flushes) the entire log and exits. 
+0

Gracias, realmente me ha ayudado. – Tien

11

El uso de la opción -d le conseguirá una ejecución única de Logcat.

adb logcat -d 

En lugar de bucle, se volverá a símbolo del sistema después de que se imprime todos los registros de búfer de registro. Cada vez que se utiliza este comando, siempre empieza desde el principio del búfer de registro, a menos que introduzca el comando siguiente para limpiar los registros en búfer de registro:

adb logcat -c 

El comando anterior es para limpiar los registros en la memoria de Logcat .

1

He encontrado un problema al intentar con la solución de Meir Gerenstadt.

El adb logcat -c al final en realidad no detener Logcat de la escritura a la log_file.txt

Mi solución es:

# Clear logcat 
$> $SDK/platform-tools/adb logcat -c 
# Redirect logcat to file, in background process. 
$> $SDK/platform-tools/adb logcat > log_file.txt & 
# Get process id of logcat background process above 
$> logcat_pid=$! 

... run your application ... 

# Now kill the logcat background process 
$> kill $logcat_pid