• 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:appchkbugreport-0.4-185.jar D: estBugreport.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

        

           

          

          

        

  • 相关阅读:
    做过的项目介绍
    我在爱板网写的-- 【望月追忆】带你入门STM32F0系列文章
    注释:佛祖保佑--永无BUG
    【项目】----C/C++语法知识:typedef struct 用法详解
    【神舟王】----PCB 数字地 和 模拟地 处理方法
    NSDateFormatter的常用格式和格式化参数
    IOS常用开发第三方库整理
    iOS上如何让按钮文本左对齐问题(对齐方式)
    Swift学习5---协议(protocol)和扩展(extension)
    Swift学习4---枚举和结构体
  • 原文地址:https://www.cnblogs.com/hally/p/12633105.html
Copyright © 2020-2023  润新知