battery-historian耗电量测试
Battery-Historian简介
Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lollipop)及以后版本的设备上电池的相关信息和事件的工具,是一款对于分析手机状态,历史运行情况很好的可视化分析工具。对应的软件包和使用简介参考:https://github.com/google/battery-historian
耗电量指标
待机时间是关键指标
提升用户体验
通过不同的测试场景,找出APP高耗电量的场景并解决
环境准备
1、历史原因,historian.py脚本支持Python2,下载安装Python2配置环境变量
2、go 环境安装(下载:https://golang.org/doc/install),配置GOPATH
and GOBIN到环境变量
GOPATH:配置GO工作目录(D:\workspace\go\src)
GOBIN:配合Go安装目录
3、jdk安装配置环境变量
4、git安装配置环境变量
安装步骤,参考https://github.com/google/battery-historian官网
1、打开git命令窗口,切换到GOPATH目录
2、go get -d -u github.com/google/battery-historian/...
3、cd battery-historian
4、go run setup.go
5、go run cmd/battery-historian/battery-historian.go
备注:进行步骤5前,需要修改battery-historian目录下的setup.go文件,把closureCompilerVersion 改为 "20190513"(只是最稳定版本)
因为不能FQ访问外网,会出现各种奇怪问题,可参考https://blog.csdn.net/shiyisay/article/details/112470978,文章作者整理很到位。
测试步骤
使用batterystats生成数据(adb自带batterystats)
使用Battery historian分析数据
batterystats收集数据步骤
1、清理耗电量数据
adb shell dumpsys batterystats --reset
adb shell dumpsys batterystats --enable full-wake-history(不用执行,默认就是开启状态,命名用途是收集电量等数据统计) 2、运行测试用例/手工操作
可功能测试时监控或者monkey、appCrawler等工具遍历 3、收集数据
Android7.0及以上版本:adb bugreport bugreport.zip
Android6.0版本:adb bugreport >bugreport.txt 4、上传数据
本地浏览器访问:localhost:9999,把zip或者txt文件数据上传 5、生成报告
备注:
1、涉及文件需求或更新,需要再次执行编译命令:go run setup.go
2、生成报告,需要执行go run cmd/battery-historian/battery-historian.go
3、编译与执行,全部在/workspace/go/src/github.com/google/battery-historian目录下
historian
进入Historian
X轴代表时间周期,默认以60s为一个周期
其对应指标含义:
battery_level:电量
plugged:充电状态及充电时间
screen:屏幕是否点亮
top:显示当前手机运行的app
status:电池状态信息,有充电、放点、未充电、已充满、未知等不同状态
遗留问题:https://www.google.com/jsapi 不能FQ,访问总是超时导致historian数据查看不了,如果用离线js,则报错404
问题截图
解决办法:docker安装
battery-historian耗电量测试的更多相关文章
- Battery Historian之App耗电量测试
一.Battery Historian测试所需环境:Go+Git+Python+Java+Battery Historian源码 下载Battery Historian源码并且运行的步骤如下: 1.打 ...
- APP耗电量测试
现象 APP耗电,导致电池续航能力不佳,如下图,在小米MIX2和iPhone X机型上后台静默一小时各应用的耗电排行: 基本概念 相对于PC来说,移动设备的电池电量是非常有限的,保持持久的续航能力尤为 ...
- 通过 Battery Historian 工具分析 Android APP 耗电情况
电量统计模块概述 Android 从两个层面统计电量的消耗,分别为 软件排行榜 及 硬件排行榜.它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单.这 ...
- Battery Historian for windows环境搭建
Battery Historian for windows环境搭建 简介:Battery historian是一款通过上传bugreport文件分析用户手机中App的电池耗电情况的工具. Batter ...
- Docker安装使用battery historian
apt-get insatll docker.io battery historian ubuntu下使用 首先要确保是google浏览器,然后用命令行 google-chrome --proxy-s ...
- Battery historian安装及使用
在介绍Battery historian之前首先来介绍一下 Android adb bugreport 工具,bugreport是什么,怎么用? android系统想要成为一个功能完备,生态繁荣的操作 ...
- Android CPU耗电量测试
Android CPU耗电量测试 在测试Android app时,不仅仅要关注app的功能,也好关注app的性能指标,cpu.内存.流量.电量等.简单介绍下电量测试中的cpu耗电. 影响耗电的因素 C ...
- iOS耗电量测试
iOS耗电量测试 本文主要介绍的是使用Energy Diagnostics Instruments来进行iOS耗电量测试. 一.使用方法: 1)iOS 设置选项 ->开发者选项 ->log ...
- 【官网翻译】性能篇(四)为电池寿命做优化——使用Battery Historian分析电源使用情况
前言 本文翻译自“为电池寿命做优化”系列文档中的其中一篇,用于介绍如何使用Battery Historian分析电源使用情况. 中国版官网原文地址为:https://developer.android ...
- 电量分析工具 Battery Historian 的配置及使用
1.Building from source code(通过各种配置后从源码构建) 官方流程看似很麻烦,但一上手,很快就搞定,让我情何以堪. ps:以下均是参考官方及网友做的 copy https:/ ...
随机推荐
- HBase详解(01) - Hbase简介
HBase简介 定义:HBase是一种分布式.可扩展.支持海量数据存储的NoSQL数据库. 数据模型:逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列.但从HBase的底 ...
- C#调用接口的简单流程
1.编写url地址 string url="http://192.168"; 2.创建http请求对象 HttpWebRequest request = (HttpWebReque ...
- LVGL 中图片使用问题
此笔记主要是记录在 LVGL 中使用图片的几种方式,以及使用过程中遇到的问题.最近在 ARM linux 中使用 LVGL 时,发现加载图片变得很卡,一开始还好,当连续加载的图片变多后,特别是动画的过 ...
- Java反射获取方法参数名 IDEA配置 Maven
默认情况下无法获得具体的参数名,只能得到arg0, arg1等. 进行如下配置即可通过反射获得具体的参数名. -parameters 如果是Maven项目,还需要在pom.xml文件中增加如下配置 & ...
- 在不使用cv2等库的情况下利用numpy实现双线性插值缩放图像
起因 我看到了一个别人的作业,他们老师让不使用cv2等图像处理库缩放图像 算法介绍 如果你仔细看过一些库里缩放图像的方法参数会发现有很多可选项,其中一般默认是使用双线性插值.具体步骤: 计算目标图坐标 ...
- 第 1 天|基于 AI 进行游戏开发:5 天创建一个农场游戏!
欢迎使用 AI 进行游戏开发! 在本系列中,我们将使用各种 AI 工具,在 5 天内创建一个功能完备的农场游戏.到本系列结束时,你将了解到如何将多种 AI 工具整合到游戏开发流程中.本系列文章将向你展 ...
- 反馈电路的Bode分析法
1 前言 在反馈电路的分析中,如果前向放大倍数为Aopen,反馈系数为β,则闭环传递函数Aclose=Aopen/(1+Aopenβ),其中Aopenβ为环路增益.但是,在Aopen和β的计算中均要考 ...
- 快速入门pandas进行数据挖掘数据分析[多维度排序、数据筛选、分组计算、透视表](一)
1. 快速入门python,python基本语法 Python使用缩进(tab或者空格)来组织代码,而不是像其 他语言比如R.C++.Java和Perl那样用大括号.考虑使用for循 环来实现排序算法 ...
- 借助 Flutter 跨平台特性连接 10 亿玩家 | Flutter 开发者故事
由光子工作室及 Krafton 联合研发的 PUBG MOBILE 依然保持着极高的人气,目前全球有 10 亿玩家,日活跃 5,000 万 (不包括中国大陆地区).从游戏策划伊始,团队就打算为各个平台 ...
- 解决 Vue3 中路由切换到其他页面再切换回来时 Echarts 图表不显示的问题
问题复现: 正常状态下: 切换到其他页面再切换回来: 问题解决: 其实这个问题的解决方式官网写得清清楚楚,我们看看官网怎么解决的: 接下来我用代码解释下这句话(正确的做法是,在图表容器被销毁之后,调用 ...