电池电量对于手机的重要性不言而喻,没有电你再土豪的手机也白瞎,所以手机方案商在研发阶段会对系统耗电做全面分析,从硬件到软件,从系统到上层,作为任劳任怨的程序猿自然是责无旁贷

俗话说:“工欲善其事,必先利其器”一个好的工具能让我们事半工倍

下面介绍一个手机耗电分析工具Battery Historian

开源工具下载地址:

https://github.com/google/battery-historian

github有此工具的编译安装说明,我觉得太过复杂,要安装工具太多

可以下载,解压即可使用,简单

https://download.csdn.net/download/wuhuiyi10/11239898

目录

环境部署

运行

工具使用说明


  • 环境部署

1,GO环境安装

下载地址:https://golang.org/doc/install

安装GO

配置环境变量

配置GOROOT和GOPATH

GOROOT的作用是告诉Go 命令和其他相关工具,在哪里去找到安装在你系统上的Go包,所以这里配置的是GO的安装目录

GOPATH可以简单理解为是工程的目录,所以创建一个GO的工程路径

查看配置是否正确

2,Python安装

点击下载【下载】,注意仅支持python2.7

配置环境变量

检测是否安装成功

3,安装Java环境

  • 运行

1,为了更好的分析避免一大堆数据的干扰,我们需要对数据进行重置,执行如下一些命令

adb shell dumpsys batterystats --reset 重置bugreport日志

adb shell dumpsys batterystats –enable full-wake-history 打开电池数据池

adb shell dumpsys batterystats –disable full-wake-history 关闭电池数据

由于记录所有唤醒锁数据会导致日志超过最大限制(50M),因此最好针对具体应用做分析,并在完成分析后执行命令关闭,否则会导致bugreport日志太大而不好分析

重置数据后将数据线直接拔掉(防止数据线进行充电干扰),重启手机,经过一段时间使用后,链接adb,导出bugreport日志信息,这时就可以分析日志了,得到的数据就是这段时间之内的电磁日志信息

2,导出bugreport.txt文件

命令:adb bugreport > bugreport.txt

目录下生成文件

3,运行Battery Historian 输入命令

go run .\cmd\battery-historian\battery-historian.go

4,运行成功,在浏览器中打开http://localhost:9999/

5,Browse选择生成的bugreport日志信息*.zip文件,点击submit提交,等待。。。

可以看到这个工具生成的日志信息图像化,直观,方便

至此就可以开始分析耗电情况了

  • 工具使用说明

参数 说明
CPU runing cpu运行的状态
Kernel only uptime Kernel单独运行时间
Userspace wakelock 用户空间申请的锁
Screen 屏幕是否点亮
Battery level 电池当前电量
Temperature 电池温度
Top app 当前在内存中的应用,按内存占用率排序
Activity Manager Proc 活跃的用户进程
Crashes(logcat) 某个时间点出现crash的应用
Doze 是否进入doze模式 Device
active 和Doze相反
JobScheduler 异步作业调度
SyncManager 同步操作
Temp White List 电量优化白名单
Phone call 是否打电话
GPS 是否使用GPS
Network connectivity 网络连接状态(wifi、mobile是否连接)
Mobile signal strength 移动信号强度(great\good\moderate\poor)
Wifi scan 是否在扫描wifi信号
Wifi supplicant 是否有wifi请求
Wifi radio 是否正在通过wifi传输数据
Wifi signal strength wifi信号强度
Wifi running wifi组件是否在工作(未传输数据)
Wifi on 同上
Camera 相机是否在工作
Audio 音频子系统?
Foreground process 前台进程
Package install 是否在进行包安装
Package active 包管理在工作
Plugged 连接usb或者充电
Charging on 在充电
Logcat misc 是否在导出日志

【Android日志分析】Battery Historian功耗分析工具相关推荐

  1. Android日志系统Logcat源代码简要分析

    在前面两篇文章Android日志系统驱动程序Logger源代码分析和Android应用程序框架层和系统运行库层日志系统源代码中,介绍了Android内核空间层.系统运行库层和应用程序框架层日志系统相关 ...

  2. Android日志系统驱动程序Logger源代码分析

    我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是An ...

  3. android core log,Android 日志系统(Logcat)的实现分析

    这篇说一下Android 日志系统的实现: 1. Android中的打印分为4个缓冲区和6个打印等级,在frameworks\base\core\java\android\util\Log.java中 ...

  4. 【Android日志分析】EventLog

    Android源码中有大量的EventLog日志,通过这个日志可以很简洁的呈现出系统的事件处理流程,包括时间,状态,便于我们分析定位问题. 命令 查看Event所有的tags adb shell ca ...

  5. Android 功耗(11)---Android 功耗分析之wakelock

    Android 功耗分析之wakelock 生活总是让我们遍体鳞伤,但到后来,那些受伤的地方一定会变成我们最强壮的地方.-海明威 WakeLock是什么 WakeLock作用 WakeLock有那些分 ...

  6. 【Android 电量优化】电量优化 ( Battery Historian 环境要求 | 电量分析报告 | 电量优化三原则 | 电量优化注意事项 )

    文章目录 一.Battery Historian 环境要求 二.上传电量报告 三.Battery Historian 电量分析报告 四.电量优化三原则 五.电量优化注意事项 参考 Google 官方文 ...

  7. Battery Historian分析手机耗电神器

    极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 本篇文章主要介绍 Android 开发中 电量 的部分知识点,通过阅读本篇文章,您 ...

  8. 嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!

    ------·今天距2020年87天·------ 这是ITester小栈第49次推文 大家好,我是coco小锦鲤 经过之前的APP系列 我们知道了APP的测试流程 也列举了APP通用测试用例 还解答 ...

  9. 【Android 电量优化】电量优化 ( 耗电量测试 | Battery Historian 简介 | apt 源更新 | Docker 安装 | Battery Historian 安装 )

    文章目录 一.耗电量测试 二.Battery Historian 简介 三.Docker 简介 四.更新 apt 源 五.安装 Docker 六.安装 Battery Historian 七.访问电量 ...

最新文章

  1. Mysql判断工作日函数_MySQL函数查找两个日期之间的工作日数
  2. 使用字典编码每个字再编码每句话不知对nlp是否有帮助(深度大脑)
  3. [Medical Image Processing] 2. GrayScale Histogram and Threshold-【Isodata Algorithm】
  4. maven-antrun-plugin - Target
  5. 终于等到了scilab 5.1.1
  6. 976. 三角形的最大周长
  7. R语言数据集合并、数据增减、不等长合并
  8. NTFS-3G的安装和配置(Linux下挂载Windows分区必备)
  9. 基于CNN的车牌识别
  10. 浅谈OpenGOP与ClosedGOP
  11. 7-27 EDG nb(20 分)
  12. java打印星型_初识java java入门知识 基础知识 打印各种星型图形 源代码
  13. UWB超宽带 DW1000 通道和带宽
  14. 怎么安慰没有安全感的人
  15. android 高德地图录制视频,《高德地图》录制导航录音包方法教程
  16. window系统默认编码格式GBK怎么理解
  17. 【Linux】嵌入式Linux系统的移植(上篇:交叉编译器、连接方式)
  18. 算法 - 鸡尾酒排序(CocktailShaker_sort)
  19. Raspberry Pi远程多功能监控摄像机
  20. xctf攻防世界 MISC高手进阶区 Reverse-it

热门文章

  1. otter 带表情包同步踩坑及解决方案
  2. 操作系统-互斥实现的硬件方法
  3. Uploadify IE出现了SCRIPT5007 缺少对象
  4. BRISK: Binary Robust Invariant Scalable Keypoints
  5. 双语版Google Technical Writing (For Students) | 谷歌技术写作课程(学生向)
  6. 利用伪元素给图片在鼠标悬停时添加背景图片
  7. 2023年华为HCIA-Datacom最新题库H12-811,亲测高分PASS
  8. spring cache基础篇
  9. 基于Python的动物识别专家系统
  10. 2019,成立个人独资企业还能节税吗?具体怎样操作?