Adb logcat -f log.txt error: no se pudo abrir el archivo de salida: Sistema de archivos de sólo lectura

En Windows (win7), la depuración de un teléfono real a través de USB Quiero volcar el registro logcat en un archivo en mi PC. La tasa de datos está más allá de lo que se puede utilizar en eclipse; Y quiero todo el registro sin filtrar.

De acuerdo con las instrucciones de línea de comandos logcat esto debería ser trivial con

logcat -f logfile.txt

Estoy utilizando adb logcat -f logfile.txt en la línea de comandos de Windows

Pero esto siempre responde con

couldn't open output file: Read-only file system

El sistema de archivos no es de sólo lectura. La creación y escritura de archivos funciona bien y una redirección cruda como adb logcat > logfile.txt también funciona como se esperaba. Proporcionar todo el camino al archivo de registro no hace ninguna diferencia.

Me gustaría hacer uso de las opciones -n y -r de logcat pero requieren -f para trabajar.

¿Alguna sugerencia?


Notas. Esta pregunta es cercana a una pregunta en Ubuntu pero que no tiene respuestas que me sean útiles en Windows, y una sugerencia que ya he probado y no funciona. La mayoría de las referencias similares en SO simplemente citan la página de ayuda, diciendo -f filename debería funcionar.

Pregunta editada para mantenerla actualizada con comentarios y respuestas útiles.

3 Solutions collect form web for “Adb logcat -f log.txt error: no se pudo abrir el archivo de salida: Sistema de archivos de sólo lectura”

Desafortunadamente, la opción -f de logcat parece ser capaz de crear archivos en el sistema de archivos del dispositivo android y no en el host de desarrollo .

Al especificar un nombre de archivo desnudo, lo más probable es que intentara crear un archivo en el directorio raíz del dispositivo, que normalmente no se puede escribir.

Si desea crear un archivo en el dispositivo, especifique una ubicación de escritura (las rutas apropiadas variarán según el dispositivo y la compilación, pero para tomar un ejemplo actual):

 adb logcat -f /mnt/sdcard/log.txt 

A modo de explicación adicional, el experimento muestra que al escribir adb logcat el programa /system/bin/logcat en el dispositivo, de manera similar a lo que ocurre si escribe adb shell logcat . ADB puede pasar trivialmente la salida estándar o de error de este programa a la máquina host, pero no hay ninguna API del lado del dispositivo que un programa que se ejecuta en el dispositivo podría utilizar para pedir a ADB que cree archivos en la máquina de desarrollo. Sería posible que las operaciones guardar en archivo y rotación se implementen en la parte de ADB que se ejecuta en la máquina de desarrollo, pero no es así como funciona actualmente.

La solución de bonitarunner que utiliza un redireccionamiento de shell en la máquina de desarrollo es una respuesta sencilla. Debería ser posible crear un programa o script de filtro del lado del host que implementaría una funcionalidad de limitación y rotación similar a las opciones -r y -n .

 adb logcat > logfile.txt adb logcat *:E > logfile.txt 

Si sólo desea que se filtren los errores.

Esto funciona para mí en MS Windows 7.

Utilizar adb logcat -d > log.txt

Esto escribirá los registros en su máquina de desarrollo.

  • ¿Cómo registrar una cuenta de desarrollador de Android para una empresa?
  • Logcat de Android registrando sólo el nivel de información en el dispositivo real. No se pueden obtener mensajes de depuración, ni siquiera las excepciones no controladas
  • Referencia indefinida a `__android_log_print '
  • Android: Dos instancias de Media Recorder al mismo tiempo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.