美文网首页性能
电量优化Battery Historian2.0 配置

电量优化Battery Historian2.0 配置

作者: 小乌龟爸 | 来源:发表于2019-08-29 12:49 被阅读0次

    概念

    Battery Historian 是一个这样的的工具:可以在 Android 5.0 Lollipop(API 级别21)及更高版本的 Android 设备上检测与电池相关的信息和事件,而在此期间,该设备没有插上电源。它允许应用程序开发人员在时间轴上可视化系统和应用级别的事件,并使用平移和缩放功能,在设备最后一次完全充电之后,可以轻松地查看各种聚合统计信息,可以选择一个应用程序,检查所选择的应用程序对电池指标的影响。此外,它还允许对两个错误报告进行 A/B 比较,突出显示了关键电池相关指标的差异。

    https://github.com/google/battery-historian#building-from-source-code

    配置

    • 使用Docker
    • 自己配置环境

    使用Docker

    docker的安装与使用

    https://yeasy.gitbooks.io/docker_practice/

    在docker上运行Battery Historian

    1. 在终端搜索Battery Historian相关的镜像
      docker search battery
      docer_search.png
    2. 拉取battery镜像到本地
      docker pull blystad/battery-historian-2
      docker_battery_pull.png
    3. 运行battery-historian
      docker run --name=battery -d -p 9999:9999 blystad/battery-historian-2
      docker_run_battery.png
    4. docker简单使用命令

    查看容器 docker container ls -a
    启动容器 docker container start/restart[重启]
    停止容器 docker container stop
    删除容器 docker container rm

    或者根据官网的步骤来

    自己配置环境

    安装Go

    • Make sure you have at least Golang version 1.8.1

    https://golang.org/doc/install

    • 配置GOROOT GOROOT的作用是告诉Go 命令和其他相关工具,在哪里去找到安装在你系统上的Go包,所以这里配置的是GO的安装目录
    • 配置GOPATH GOPATH可以简单理解为是工程的目录,所以创建一个GO的工程路径
    • 配置环境变量 把Go的bin目录放到path环境变量中
    • 检查Go是否安装成功,打开命令行输入Go version


      go_version.png

    安装Python

    • 注意仅支持python2.7

    https://www.python.org/

    • 输入命令行 python –V(注意是大写V)检查是否安装成功


      python_version.png

    python安装请看https://www.jianshu.com/p/e73768e66b8d

    安装Git

    https://git-scm.com/

    • 安装完成检查:命令行输入git version


      git_version.png

    安装Java环境

    https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    Battery Historian

    1. 下载源码
      go get -d -u github.com/google/battery-historian/...
    2. 运行Battery Historian
      cd $GOPATH/src/github.com/google/battery-historian
      我这里GOPATH是F:\zero1\goworkspace
      go run setup.go
      battery_setup.png

    注意 这里一般会让你下载三个第三方库,并且一般都是下载不了
    首先先运行go run setup.go 等它报错停止

    • 这样会在F:\zero1\goworkspace\src\github.com\google\battery-historian\third_party下生成third_party这个目录,如果没有则自己创建这个目录


      battery_third_part.png
    • 然后自己手动去下载这三个库,然后copy到third_party的相对应目录下,如果没有则自己创建者三个目录

    https://github.com/google/closure-compiler
    https://github.com/google/closure-library/tree/master
    https://github.com/markrcote/flot-axislabels

    然后再次运行go run setup.go

    • 如果closure-library报错,则需要把closure-library回退到v20170409版本
      closure_lib_error.png
    • 回到closure-library目录下
      git reset --hard v20170409
      closure_lib_reset.png
    • 然后重新copy到\third_party\closure-library下面 再次运行go run setup.go验证,没报错就OK了

    运行Battery Historian

    注意只能在\src\github.com\google\battery-historian\运行命令

    go run cmd/battery-historian/battery-historian.go

    run_battery.png

    分析功耗报告

    采集battery报告

    • 采集报告前将battery统计状态重置,重置命令结束后断开usb,测试结束后用获取报告命令导出统计文件包
      adb shell dumpsys batterystats --reset
      默认情况下,统计信息是在运行基础上维护的,Android也不记录特定于应用程序的用户空间wakelock转换的时间戳。如果您希望Historian在时间线上显示关于每个单独唤醒锁的详细信息,则应在开始实验之前使用以下命令启用完整唤醒锁报告:
      adb shell dumpsys batterystats --enable full-wake-history

    注意统计完要关闭 adb shell dumpsys batterystats --disable full-wake-history

    • 导出报告
      adb bugreport bugreport.zip(6.0以及以下的,使用adb bugreport > bugreport.txt导出)
    • 上传bugreport.zip文件至 http://localhost:9999
      update_bugreport.png

    -然后sumbit 查看电量分析报告


    battery_report.png

    相关文章

      网友评论

        本文标题:电量优化Battery Historian2.0 配置

        本文链接:https://www.haomeiwen.com/subject/mqxiectx.html