【Android日志分析】Battery Historian功耗分析工具
电池电量对于手机的重要性不言而喻,没有电你再土豪的手机也白瞎,所以手机方案商在研发阶段会对系统耗电做全面分析,从硬件到软件,从系统到上层,作为任劳任怨的程序猿自然是责无旁贷
俗话说:“工欲善其事,必先利其器”一个好的工具能让我们事半工倍
下面介绍一个手机耗电分析工具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功耗分析工具相关推荐
- Android日志系统Logcat源代码简要分析
在前面两篇文章Android日志系统驱动程序Logger源代码分析和Android应用程序框架层和系统运行库层日志系统源代码中,介绍了Android内核空间层.系统运行库层和应用程序框架层日志系统相关 ...
- Android日志系统驱动程序Logger源代码分析
我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是An ...
- android core log,Android 日志系统(Logcat)的实现分析
这篇说一下Android 日志系统的实现: 1. Android中的打印分为4个缓冲区和6个打印等级,在frameworks\base\core\java\android\util\Log.java中 ...
- 【Android日志分析】EventLog
Android源码中有大量的EventLog日志,通过这个日志可以很简洁的呈现出系统的事件处理流程,包括时间,状态,便于我们分析定位问题. 命令 查看Event所有的tags adb shell ca ...
- Android 功耗(11)---Android 功耗分析之wakelock
Android 功耗分析之wakelock 生活总是让我们遍体鳞伤,但到后来,那些受伤的地方一定会变成我们最强壮的地方.-海明威 WakeLock是什么 WakeLock作用 WakeLock有那些分 ...
- 【Android 电量优化】电量优化 ( Battery Historian 环境要求 | 电量分析报告 | 电量优化三原则 | 电量优化注意事项 )
文章目录 一.Battery Historian 环境要求 二.上传电量报告 三.Battery Historian 电量分析报告 四.电量优化三原则 五.电量优化注意事项 参考 Google 官方文 ...
- Battery Historian分析手机耗电神器
极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 本篇文章主要介绍 Android 开发中 电量 的部分知识点,通过阅读本篇文章,您 ...
- 嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!
------·今天距2020年87天·------ 这是ITester小栈第49次推文 大家好,我是coco小锦鲤 经过之前的APP系列 我们知道了APP的测试流程 也列举了APP通用测试用例 还解答 ...
- 【Android 电量优化】电量优化 ( 耗电量测试 | Battery Historian 简介 | apt 源更新 | Docker 安装 | Battery Historian 安装 )
文章目录 一.耗电量测试 二.Battery Historian 简介 三.Docker 简介 四.更新 apt 源 五.安装 Docker 六.安装 Battery Historian 七.访问电量 ...
最新文章
- Mysql判断工作日函数_MySQL函数查找两个日期之间的工作日数
- 使用字典编码每个字再编码每句话不知对nlp是否有帮助(深度大脑)
- [Medical Image Processing] 2. GrayScale Histogram and Threshold-【Isodata Algorithm】
- maven-antrun-plugin - Target
- 终于等到了scilab 5.1.1
- 976. 三角形的最大周长
- R语言数据集合并、数据增减、不等长合并
- NTFS-3G的安装和配置(Linux下挂载Windows分区必备)
- 基于CNN的车牌识别
- 浅谈OpenGOP与ClosedGOP
- 7-27 EDG nb(20 分)
- java打印星型_初识java java入门知识 基础知识 打印各种星型图形 源代码
- UWB超宽带 DW1000 通道和带宽
- 怎么安慰没有安全感的人
- android 高德地图录制视频,《高德地图》录制导航录音包方法教程
- window系统默认编码格式GBK怎么理解
- 【Linux】嵌入式Linux系统的移植(上篇:交叉编译器、连接方式)
- 算法 - 鸡尾酒排序(CocktailShaker_sort)
- Raspberry Pi远程多功能监控摄像机
- xctf攻防世界 MISC高手进阶区 Reverse-it
热门文章
- otter 带表情包同步踩坑及解决方案
- 操作系统-互斥实现的硬件方法
- Uploadify IE出现了SCRIPT5007 缺少对象
- BRISK: Binary Robust Invariant Scalable Keypoints
- 双语版Google Technical Writing (For Students) | 谷歌技术写作课程(学生向)
- 利用伪元素给图片在鼠标悬停时添加背景图片
- 2023年华为HCIA-Datacom最新题库H12-811,亲测高分PASS
- spring cache基础篇
- 基于Python的动物识别专家系统
- 2019,成立个人独资企业还能节税吗?具体怎样操作?