battery historian电量分析

  • 下载docker安装包
    https://docs.docker.com/docker-for-windows/install/

1.如果是window home版本,需要下载dockerToolBox https://get.daocloud.io/toolbox/ (Deprecated)
2.确认开始BIOS虚拟化

  • 安装
    安装成功运行
docker run hello-world
// 提示 docker: error during connect: This error may indicate that the docker daemon is not running.
// 进入docker工作空间,执行下述命令,打开docker daemon
 .\DockerCli.exe -SwitchDaemon
// docker run可以运行成功代表docker配置没有问题
  • 运行 battery-history容器
docker run -p 9000:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999

如果没有翻墙,或者下载不行,需要国内其他镜像

// 没有翻墙,使用阿里云的镜像来下载
// 查找battery historian镜像
docker search battery
// 查看到镜像名是 bhaavan/battery-historian
docker run --name=battery_history -d -p 9001:9999 bhaavan/battery-historian
// 阿里云镜像  (经测试有问题,不知道其他人如何)
docker run -p 9000:9999 registry.cn-hangzhou.aliyuncs.com/xyz10/android-battery-historian:stable-3.0
// 查看镜像是否存在
docker iamges
// 查看活动状态
docker ps -a

成功的话,输入 http://localhost:9000/ 就可以看到本地的battery history分析页面了

分析电量

// 重置电池数据收集
adb shell dumpsys batterystats --reset
// 详细记录唤醒锁信息
adb shell dumpsys batterystats --enable full-wake-history
// dump电池数据
adb shell dumpsys batterystats > [path/]batterystats.txt
// 生成报告
adb bugreport > [path/]bugreport.zip  //7.0以上
adb bugreport > [path/]bugreport.txt  // 7.0以下

提交分析报告

在battery historian网页上上传得到的bugreport.zip文件

docker相关命令

//查看运行容器
docker ps -a   
docker ps -n 5
//查看镜像文件
docker images
// 创建一个容器
docker run -p 9000:9999 registry.cn-hangzhou.aliyuncs.com/xyz10/android-battery-historian:stable-3.0

问题

  1. Uncaught ReferenceError: d3 is not defined



    解决方案:

While it's running, run docker ps to get its name.
Then run docker exec -it  bash.
Install vim apt-get update && apt-get install vim
Edit base.html vim templates/base.html
Change line 45 from

to

Then restart the container docker restart .

Voila! I'm not entirely sure how to make this change permanent. I guess one has to run the local copy of the container instead of pulling it from the web. 

实在不行,可以访问一个线上的battery history: https://bathist.ef.lc/

相关电池模式测试

//强制进入闲置模式
adb shell dumpsys deviceidle force-idle
//退出闲置模式
adb shell dumpsys deviceidle unforce
//重新激活设备
adb shell dumpsys battery reset

//强制进入待机模式
adb shell dumpsys battery unplug
adb shell am set-inactive  true
//唤醒
adb shell am set-inactive  false
adb shell am get-inactive 

//手动应用后台限制
adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore
//解除后台限制
adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow

//进入省电模式
adb shell dumpsys battery unplug
adb shell settings put global low_power 1
//移除省电模式
adb shell dumpsys battery reset

你可能感兴趣的:(battery historian电量分析)