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

17

He estado enfrentando un problema grave de agotamiento de la batería en mi ROM personalizada oficial de Cyanogenmod. Después de discutirlo en los foros de la comunidad, se sugirió que use logcat para solucionar el problema.

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 se mencionó anteriormente, planeo usar logcat para tratar de capturar el problema. Estoy planeando correr adb logcatinmediatamente después de desconectar el teléfono de la corriente. Sin embargo, he usado logcat en el pasado y me resultó muy difícil extraer datos específicos de la salida grande. Ya fui a través de la página Logcat ayuda oficial y de lectura y escritura de registros para ver si podía encontrar algo útil, pero no pude encontrar una solución para mi problema.

Pregunta:

  • ¿Hay alguna forma de usar filtros o alguna otra característica en la que pueda limitar la salida de logcat a las estadísticas que solo están relacionadas con el uso de la batería?
  • ¿Puede algo como adb shell dumpsys batterystats > batterystats.txtser de mejor uso para mí? Si es así, ¿cómo lo uso para obtener lo que quiero?

Graph1 de batería El patrón de uso no muestra nada Gráfico de batería 2

ACTUALIZACIÓN:
BatteryStats para mi drenaje ahora se puede encontrar aquí en Patebin. También esta es mi tabla de historiador de batería:
Cuadro de historiador de batería

theHeman
fuente
Continuemos esta discusión en el chat .
theHeman
1
A partir del gráfico de descarga, preferiría asumir una batería defectuosa aquí que una aplicación (especialmente si siempre sucede de esa manera). ¿Quizás prueba una batería nueva (siempre que su dispositivo sea compatible con su reemplazo)?
Izzy
Creo que el problema es con la batería, no con una aplicación. Intente pedir prestada la batería de alguien con el mismo dispositivo y pruebe si se produce el mismo error con la batería más nueva. Si no es así, solo tendrá que adquirir una batería nueva. Si todavía lo hace, todavía no creo que se deba a una aplicación: para agotar tanta batería necesitaría activar el GPS, tener mucho tráfico de red y realizar procesos complejos a la vez.
Namnodorel
@Namnodorel desafortunadamente, es una batería no extraíble ... También creo que no se debe a ninguna aplicación. Es una fuga en la ROM o algo más. Supongo que no hay ningún problema en la batería porque, como dije, una vez que la recargo si después de la caída, funciona perfectamente bien: |
theHeman
Las baterías que van mal pueden ser inconsistentes a veces. La batería de mi Galaxy S6 se está agotando lentamente, y algunos días es mejor, algunos días es peor. Mi drenaje no es tan significativo como el tuyo, pero creo que no se debe a una aplicación. ¿Has intentado ejecutar el teléfono en modo seguro? ¿Has probado un restablecimiento de fábrica (tan horrible y desafortunado como lo son para realizar y recuperarse)?
Kaizerwolf

Respuestas:

1

¿Estás seguro de que ninguna aplicación está agotando tu batería? Puede averiguarlo iniciando su teléfono en modo seguro. Lea Cómo iniciar su teléfono en modo seguro para obtener instrucciones. Si su batería no se agota en modo seguro, intente desinstalar las aplicaciones que instaló después de que comenzó a ver este comportamiento extraño. Si no puede averiguar qué aplicación es, intente restablecerla de fábrica. Además, si la batería se agota tan rápido, podría ser una batería defectuosa.

Sakethram
fuente
Bueno, la sugerencia general es buena, pero en realidad no responde la pregunta real (diagnosticar el uso de la batería usando logcat)
Andrew T.
@AndrewT. En general, tienes razón. Pero teniendo en cuenta que OP quiere resolver el problema, solucionarlo en logcat de alguna manera lo convierte en un problema XY (en límites). Entonces, aunque no encaja 100% con la pregunta "literalmente", diría que se ajusta al problema y ofrece un enfoque para resolverlo.
Izzy
0

¿Hay alguna forma de usar filtros o alguna otra característica en la que pueda limitar la salida de logcat a las estadísticas que solo están relacionadas con el uso de la batería?

Seguro. La forma más fácil es usar el monitor del dispositivo desde Android Studio. La forma más compleja es usar la interfaz de línea de comando para adb logcat (usa ANDROID_LOG_TAGS env var). Cf logcat Documentación de la herramienta de línea de comandos en developer.android.com.

¿Puede algo como adb shell dumpsys batterystats> batterystats.txt puede ser de mejor uso para mí? Si es así, ¿cómo lo uso para obtener lo que quiero?

El agotamiento de la batería se debe principalmente a que se producen algunas condiciones inesperadas (errores que conducen a las aplicaciones a bucle infinito, dispositivos mal detectados que hacen subóptimos de acceso, por ejemplo, leer byte por byte en lugar de Mb por Mb, etc.). Debe usar la capacidad de filtrado de adb logcat para encontrar estas condiciones inesperadas. Pero tenga en cuenta que dichas herramientas son utilizadas principalmente por desarrolladores de aplicaciones o incluso plataformas, y a veces puede ser un poco complejo pero complejo interpretar dichos registros. Sin embargo, el 100% de los chicos que tuvieron éxito, lo han intentado ;-)

Rémi Cohen-Scali
fuente