Comment diagnostiquer la décharge de la batterie sur un appareil Android à l'aide de logcat?


17

J'ai été confronté à un grave problème de décharge de la batterie sur ma ROM personnalisée Cyanogenmod officielle. Après en avoir discuté sur les forums de la communauté, il a été suggéré d'utiliser logcat pour résoudre le problème.

Problème:
chaque fois que je déconnecte mon appareil après une charge complète, il décharge rapidement la batterie. Il perd près de 50% en 15-20 minutes. Comme mentionné ci-dessus, je prévois d'utiliser logcat pour essayer de capturer le problème. Je prévois de courir adb logcatimmédiatement après avoir débranché le téléphone de l'alimentation. Cependant, j'ai utilisé logcat dans le passé et j'ai trouvé qu'il était très très difficile d'extraire des données spécifiques de la grande sortie. Je suis déjà allé à travers la page d'aide logcat officielle et la lecture et l' écriture des journaux pour voir si je pouvais trouver quelque chose d' utile, mais je ne pouvais pas trouver une solution à mon problème.

Question:

  • Existe-t-il de toute façon des filtres ou une autre fonctionnalité permettant de limiter la sortie logcat aux statistiques qui ne sont liées qu'à l'utilisation de la batterie?
  • Quelque chose comme ça peut-il adb shell dumpsys batterystats > batterystats.txtêtre plus utile pour moi? Si oui, comment l'utiliser pour obtenir ce que je veux?

Graphique de la batterie 1 Le modèle d'utilisation ne montre rien Graphique de la batterie 2

MISE À JOUR:
BatteryStats pour mon drain peut maintenant être trouvé ici à Patebin. Voici également mon tableau d'historien de la batterie:
Tableau de l'historique de la batterie



1
D'après le graphique de décharge, je préfère supposer une batterie défectueuse ici qu'une application (surtout si cela se produit toujours de cette façon). Peut-être essayez-vous une nouvelle batterie (à condition que votre appareil prenne en charge son remplacement)?
Izzy

Je pense que le problème vient de la batterie, pas d'une application. Essayez d'emprunter la batterie d'une personne avec le même appareil et testez si la même erreur se produit avec la batterie plus récente. Si ce n'est pas le cas, vous devrez simplement obtenir une nouvelle batterie. Si c'est toujours le cas, je ne pense pas que ce soit à cause d'une application - pour décharger autant de batterie, il faudrait activer le GPS, avoir un trafic réseau important et effectuer des processus complexes à la fois.
Namnodorel

@Namnodorel malheureusement, c'est une batterie non amovible .. Je pense aussi que ce n'est pas dû à une application. C'est soit une fuite dans la ROM, soit autre chose. Je suppose qu'il n'y a pas de problème dans la batterie car comme je l'ai dit, une fois rechargée si après une chute, cela fonctionne parfaitement bien: |
theHeman

Les batteries qui vont mal peuvent parfois être incohérentes. La batterie de mon Galaxy S6 est en train de mourir lentement, et certains jours c'est mieux, certains jours c'est pire. Mon drain n'est pas aussi important que le vôtre, mais je crois que ce n'est pas dû à une application. Avez-vous essayé de faire fonctionner le téléphone en mode sans échec? Avez-vous essayé une réinitialisation d'usine (aussi horrible et malheureux que ce soit pour effectuer et récupérer)?
Kaizerwolf

Réponses:


1

Êtes-vous sûr que ce n'est pas une application qui vide votre batterie? Vous pouvez le découvrir en démarrant votre téléphone en mode sans échec. Lisez Comment démarrer votre téléphone en mode sans échec pour obtenir des instructions. Si votre batterie ne se décharge pas en mode sans échec, essayez de désinstaller les applications que vous avez installées après avoir commencé à voir ce comportement étrange. Si vous n'êtes pas en mesure de déterminer de quelle application il s'agit, essayez de la réinitialiser en usine. De plus, si la batterie se décharge si rapidement, il pourrait très bien s'agir d'une batterie défectueuse.


Eh bien, la suggestion générale est bonne, mais elle ne répond pas vraiment à la vraie question (diagnostiquer l'utilisation de la batterie à l'aide de logcat)
Andrew T.

@AndrewT. De manière générale, vous avez raison. Mais considérant qu'OP veut résoudre le problème, le fixer à logcat en fait en quelque sorte un problème XY (dans certaines limites). Donc, même si elle ne correspond pas à 100% à la question «littéralement», je dirais qu'elle convient au problème et propose une approche pour le résoudre.
Izzy

0

Existe-t-il de toute façon des filtres ou une autre fonctionnalité permettant de limiter la sortie logcat aux statistiques qui ne sont liées qu'à l'utilisation de la batterie?

Sûr. Le moyen le plus simple consiste à utiliser le moniteur de l'appareil d'Android Studio. La manière la plus complexe consiste à utiliser l'interface de ligne de commande pour adb logcat (il utilise la var env ANDROID_LOG_TAGS). Cf documentation de l' outil de ligne de commande logcat sur developer.android.com.

Quelque chose comme adb shell dumpsys batterystats> batterystats.txt peut-il être mieux utilisé pour moi? Si oui, comment l'utiliser pour obtenir ce que je veux?

L'épuisement de la batterie est principalement dû à certaines conditions inattendues (erreurs conduisant les applications à boucler à l'infini, périphériques mal détectés rendant les sous-optimaux d'accès, par exemple, lecture octet par octet au lieu de Mb par Mb, etc.). Vous devez utiliser la capacité de filtrage de adb logcat pour rechercher de telles conditions inattendues. Mais sachez que ces outils sont principalement utilisés par les développeurs d'applications ou même de plates-formes, et il peut parfois être un peu mais complexe d'interpréter de tels journaux. Cependant 100% des gars qui ont réussi ont essayé ;-)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.