17 votos

¿Cómo diagnosticar el agotamiento de la batería en un dispositivo Android utilizando logcat?

Me he enfrentado a un grave problema de drenaje de la batería en mi ROM personalizada oficial Cyanogenmod. Después de discutirlo en los foros de la comunidad, se sugirió que usara logcat para solucionar el problema.

El problema:
Cada vez que desconecto mi dispositivo después de una carga completa, la batería se agota rápidamente. Pierde casi el 50% en 15-20 minutos. Como he mencionado anteriormente, estoy planeando utilizar logcat para tratar de capturar el problema. Estoy planeando ejecutar adb logcat inmediatamente después de desenchufar el teléfono de la corriente. Sin embargo, he utilizado logcat en el pasado y me resultó muy muy difícil extraer datos específicos de la gran salida. Ya pasé por la página oficial de ayuda de logcat y Registros de lectura y escritura para ver si podía encontrar algo útil, pero no pude encontrar una solución para mi problema.

Pregunta:

  • ¿Existe la posibilidad de utilizar filtros o alguna otra función que permita limitar la salida de logcat a las estadísticas relacionadas únicamente con el uso de la batería?
  • ¿Puede algo como adb shell dumpsys batterystats > batterystats.txt ¿me será más útil? Si es así, ¿cómo lo utilizo para conseguir lo que quiero?

Battery Graph1 Usage Pattern shows nothing Battery Graph 2

ACTUALIZACIÓN:
Ahora se puede encontrar BatteryStats para mi drenaje aquí en Patebin. También esta es mi tabla de historiadores de baterías:
Battery Historian Chart

0 votos

1 votos

Por el gráfico de descarga, prefiero suponer que se trata de una batería defectuosa y no de una aplicación (sobre todo si siempre ocurre así). Tal vez usted trata de una nueva batería (siempre que su dispositivo admite la sustitución)?

0 votos

Creo que el problema es de la batería, no de una aplicación. Intenta tomar prestada la batería de alguien con el mismo dispositivo, y prueba si se produce el mismo error con la batería más nueva. Si no es así, tendrás que comprar una batería nueva. Si sigue ocurriendo, no creo que se deba a una aplicación, ya que para consumir tanta batería tendría que activar el GPS, tener mucho tráfico de red y realizar procesos complejos a la vez.

1voto

Sakethram Puntos 11

¿Estás seguro de que no es ninguna aplicación la que está consumiendo tu batería? Puedes averiguarlo arrancando tu teléfono en modo seguro. Leer Cómo arrancar el teléfono en modo seguro para recibir instrucciones. Si la batería no se agota en modo seguro, prueba a desinstalar las aplicaciones que instalaste después de empezar a ver este comportamiento extraño. Si no puedes averiguar de qué aplicación se trata, prueba a restablecer la configuración de fábrica. Además, si la batería se está agotando tan rápidamente podría ser una batería defectuosa.

0 votos

Bueno, la sugerencia general es buena, pero no responde a la pregunta real (diagnosticar el uso de la batería usando logcat)

0 votos

@AndrewT. En general, tienes razón. Pero teniendo en cuenta que el OP quiere resolver el problema, fijarlo en logcat es de alguna manera hacer un Problema XY (en los límites). Así que, aunque no se ajusta al 100% a la pregunta "literalmente", yo diría que se ajusta a la cuestión y ofrece un enfoque para resolverla.

0voto

¿Existe la posibilidad de utilizar filtros o alguna otra función que me permita limitar la salida de logcat a las estadísticas relacionadas únicamente con el uso de la batería?

Claro, la forma más fácil es utilizar el monitor de dispositivos desde Android Studio. La forma más compleja es utilizar la interfaz de línea de comandos de adb logcat (utiliza la env var ANDROID_LOG_TAGS). Cf Herramienta de línea de comandos logcat documentación en developer.Android.com.

¿Puede serme más útil algo como adb shell dumpsys batterystats > batterystats.txt? Si es así, ¿cómo lo uso para obtener lo que quiero?

El agotamiento de la batería se debe principalmente a algunas condiciones inesperadas que ocurren (errores que conducen a las aplicaciones a un bucle infinito, dispositivos mal detectados que hacen que el acceso sea subóptimo, por ejemplo, la lectura de byte por byte en lugar de Mb por Mb, etc). Debería utilizar la capacidad de filtrado de adb logcat para encontrar tales condiciones inesperadas. Pero hay que tener en cuenta que este tipo de herramientas son utilizadas principalmente por los desarrolladores de aplicaciones o incluso de plataformas, y a veces puede ser un poco complejo interpretar estos registros. Sin embargo el 100% de los chicos que han tenido éxito, lo han intentado ;-)

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