adb之电量分析工具Battry historian和ChkBugReport(十一)

一,电量分析工具:Battry historian

  我们先来看Battry historian

  手动搭建环境一 (或者我们可以在这里进行部署和操作:https://github.com/google/battery-historian)

  1,Battry historian,因为这个是go语言开发的,所以要先安装go语言 Golang下载地址:https://studygolang.com/dl 

  下载后一路安装,安装完成以后验证一下:

  

 

 

  2,下载git: https://git-scm.com/downloads

   

  下载以后直接一路安装,最后在cmd中执行git  version

 

  然后打开git bash---在运行中可以找到

 

  执行命令

 

    1, git clone https://github.com/google/battery-historian.git

 

    2, cd battery-historian

 

    3, go get -d -u github.com/google/battery-historian/...

 

    4, go run setup.go

 

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

 

 

   配置完成后是一个地址,网页形式打开,如下图:

  

 

  3,开始分析

    a,执行命令:adb shell dumpsys batterystats --reset    重置电池数据收集

    

 

 

     b,执行电池的数据收集命令

      第一种:adb shell dumpsys batterystats > batterystats.txt  这个是把采集的结果导出到txt文件中

      

 

      第二种:adb bugreport bugreport.zip  安卓7以上使用

              adb bugreport > bugreport.txt  安6以下使用

 

 

      操作之前我们做好先操作一下应用,然后再执行,我们这里用adb bugreport bugreport.zip收集,但是这个命令一直有问题,我们测试发现adb bugreport > bugreport.txt其实可以使用到安卓7以上的

      那么就执行adb bugreport > bugreport.txt吧。

      操作1:

      

 

      提交后的结果:

      

 

 

       操作2:选中电量的收集选项

      

 

      

 

 

       操作3:选中应用后查看右侧面板:唤醒锁----手机黑屏等情况,唤醒手机,造成耗电量大增

      

 

      操作4:应用的服务---这些服务也可能会造成我们耗电的原因

      

 

 

     详细分析可以去官方查看,比较详细:https://github.com/google/battery-historian

二,电量分析工具ChkBugReport  

    BugReport 是由 Bug 和 Report 这两个英语单词组成。bug 是英语「瑕疵,错误」的意思,在计算机领域专指程序中的问题。report 是英语「报告」的意思,顾名思义,BugReport 就是「错误报告」的意思。不过,真实的 BugReport 不仅仅记录错误,不同级别的日志也会记录下来,方便我们 debug,一般来说 Android 的 BugReport 是 .txt 结尾的文本文件,比如公司的 Android app 里的 BugReport 就是命名为 bugreport.txt。当然了,命名没有限定

    Android 的 BugReport 里面包含了 dumpsys,dumpstate,logcat 命令输出的结果

    要生成一个 BugReport,我们可以运行以下命令:adb bugreport > bugreport.txt

    

 

    这是这个文件的内容

  

 

  还有MEMORY INFO (/proc/meminfo),CPU INFO (top -n 1 -d 1 -m 30 -t), PROCRANK (procrank) ,VIRTUAL MEMORY STATS (/proc/vmstat) 等

  这搭建比较简单:只有一个jar包就可以:https://github.com/sonyxperiadev/ChkBugReport/downloads

  

 

   可以用它来解析 BugReport 文件并生成网页版报告,但是需要配置电脑的jdk环境变量

  最后在cmd中执行命令:java -jar D:\app\chkbugreport-0.4-185.jar D:\test\Bugreport.txt

  注意,这里java -jar 后面要跟着chkbugreport-0.4-185.jar  和  Bugreport.txt的绝对路径,当然也可以配置环境变量

  执行停止后,会出现Bugreport_out文件夹

  

    里面有这些内容,其中index.html就是我们需要的

  

 

  打开html文件后如图:

  

 

   在这里你还可以查看每一个项目的详细信息,如:

  

 

 

     ok,有了这个报告,就可以尽情的分析了

    下面是一个功耗原理解读,可以参阅哦

    https://blog.csdn.net/u014134180/article/details/88317636?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158599553919725219921872%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158599553919725219921872&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-all_SOOPENSEARCH-1

 

    

 

       

 

      

      

 

    

 

posted @ 2020-04-04 18:27  老僧观天下  阅读(1484)  评论(0编辑  收藏  举报