4 votos

Identificar el proceso y/o la aplicación de origen a partir de una salida en el logcat

Cuando conecto mi teléfono al ordenador, puedo ver la salida de logcat en Android Studio. Recientemente me he dado cuenta de que cada vez que empiezo a introducir una contraseña en un campo designado para contraseñas (los que muestran '*' para cualquier carácter), el teléfono imprime un mensaje muy preocupante en la consola:

D/HwAutofillHelper: inputType is password, now record

Como es un teléfono Honor, supongo que Hw ¿es la abreviatura de Huawei?

Sin embargo, me gustaría saber si hay una manera de averiguar qué proceso produjo esta salida y a qué aplicación pertenece.

0 votos

Basado en el resultado de la búsqueda en Internet de HwAutofillHelper Supongo que esta clase sólo existe en los dispositivos Huawei (todas las referencias estaban relacionadas con dispositivos Huawei). Como la entrada de registro puede ser producida por múltiples aplicaciones, asumiría que es un marco del sistema que está activo en cada aplicación. Sería interesante ver el código de esta clase...

5voto

Andrew T. Puntos 2107

Logcat puede mostrar el ID del proceso (PID) que produce el mensaje de registro.

  • Para línea de comandos : adb logcat utilizará threadtime por defecto, que muestra el PID
  • Para Android Studio :
    1. Abrir el Logcat ventana
    2. En la barra de herramientas (en el lado izquierdo), haga clic en el botón Encabezado de Logcat (rueda dentada) botón
      • Si la barra de herramientas no se muestra, haga clic en el botón Mostrar menú de opciones (rueda dentada) en la esquina superior derecha, y luego elija Mostrar la barra de herramientas
    3. En Configurar la cabecera de Logcat diálogo, compruebe Mostrar IDs de procesos e hilos , y a continuación pulse OK

Por defecto, logcat mostrará el registro en formato :

date time PID-TID/package priority/tag: message

Con el PID, es posible identificar la fuente con ps comando con -p para localizar la fuente, es decir adb shell ps -p [PID] . El comando mostrará el nombre del paquete o el nombre del ejecutable.


Ejemplo

El logcat devuelve el siguiente mensaje

2020-07-08 22:06:16.002 18510-18510/? I/ScreenEventHandler: Received Broadcast ACTION_SCREEN_ON

El PID es 18510.

Llamando a adb shell ps -p 18510 devuelve lo siguiente

USER      PID   PPID  VSIZE   RSS   WCHAN            PC  NAME
u0_a107   18510 15708 1006092 44320 sys_epoll_ 00000000 S com.asksven.betterbatterystats

Por lo tanto, el mensaje fue escrito por com.asksven.betterbatterystats (BetterBatteryStats)

2 votos

Otra idea: conseguir el APK y navegar/realizar ingeniería inversa para localizar el nombre de la clase y la línea exacta del código.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X