5-电量

注意:需要FQ~需要FQ~需要FQ~要FQ~FQ~墙

电量这一块,想做到非常精准,最好的方法是用硬件设备来测试~~

一般来说我们1不是做手机的,2不是做ROM的,要那么精准的值干嘛?有个参考的数据值就可以了么,╮(╯▽╰)╭.

电量想要测试的高大上,避免不了高大上的工具~隆重向大家介绍谷歌官方发布的<Battery Historian 2.0>电量分析工具````

[英文好的小伙伴~丢给你们一个下载地址及教程:https://github.com/google/battery-historian]

Battery Historian 2.0安装须知

  1.Battery Historian 2.0使用GO语言开发~所以我们要先装GO语言,下载地址:http://golang.org/doc/install

推荐下载‘.msi‘傻瓜式安装即可,环境变量自动配置~很方便.装好后把‘X:\Go\bin‘增加在Path中,增加一个"GOPATH"顺便检查一下环境配置‘GOROOT‘:

检查无误后,打开cmd输入"go version",显示出版本号,证明安装成功了:

2.安装‘Git‘和‘python2.X版本‘和‘java‘,安装过程都很简单,百度一下一堆资料,都是一路下一步即可,最后记得配置环境变量:

3.1我们打开文件夹:C:\Go\bin 然后"shift+鼠标右键"->"在此处打开命令窗口"

3.2打开命令窗口后输入:go get -d -u github.com/google/battery-historian/...

大概需要等待3分钟~~

3.3接着我们到D盘查看:D:\GO\src\github.com\google\battery-historian

3.4然后"shift+鼠标右键"->"在此处打开命令窗口" 输入:go run setup.go

 

这个等待时间有点长了~我的网速用了10分钟左右````

3.5完成这一步之后我们的Battery Historian 2.0就安装完成了,在安装目录下,使用命令启动工具:go run cmd\battery-historian\battery-historian.go

启动时弹出对话框什么的"允许"就对了~出现上图类似情况证明启动成功~这个命令窗口不要关闭,关了工具就关了~

3.6接着用浏览器打开:127.0.0.1:9999,看看:

出现如上图,就算启动成功了~

获取‘bugreport分析图‘

  首选,安卓版本至少要是:5.0+

  然后,开启分析图:adb shell dumpsys batterystats --enable full-wake-history

  最后,导出分析图:adb bugreport > bugreport.txt

时间可能会略长

使用"bugreport"

  1.启动Battery Historian2.0,打开:127.0.0.1:9999

  2.点击"Browse",选择刚刚导出的‘bugreport.txt‘,点击"Submit"

  3.打开以后长这样:

  4.向下滑还可以选择某个package查看:

尼玛~好长~累死~

时间: 2024-08-07 01:37:42

5-电量的相关文章

读取bq26500电池电量 Driver

bq26500是用于锂离子电池.锂聚合物电池充电.放电控制和监控的集成电路芯片.利用它能够准确提供电池充电.放电.电池温度.充放电电压.电池电量等相关数据.不须要外接微处理器參与电池充电.放电等相关数据的计算. 本文简单的读取了电池的电量百分比和电压.如要读取其它參数依照datasheet给出的寄存器一一读取就可以. 连接示意图: 引脚pack+ 和 pack-分别连接正极和负极用来冲放电,HDQ是数据交互引脚,用来读取电池的參数,一般用一个gpio连接就能够. 时序图: 看图可知.逻辑1和0并

Unity获取Android和iOS手机系统电量及网络状况

最开始考虑使用中间静态链接库来调用手机系统自带的API,但是在研究的过程中发现Android系统将电量等信息记录在了固定的文件中,所以只需要在C#中直接读取就可以而不需要中间库. a.Android版 1.通过C#直接读取,下面的GetBatteryLevel()方法 int GetBatteryLevel() { try { string CapacityString = System.IO.File.ReadAllText("/sys/class/power_supply/battery/c

监控电量

---恢复内容开始--- 题目: 编写程序,监控手机电量,当电量小于15%的时候进行提示. 监控电池电量的变化,像这种操作特别频繁的广播事件,通过静态注册的方式是无效的. 所以需要对其进行动态注册. 第一步首先要创建一个广播接受者. 1 @Override 2 public void onReceive(Context context, Intent intent) { 3 //通过getIntExtra()方法获得变化的电量 4 int level = intent.getIntExtra("

军规13 降低流量和电量消耗

流量和电量的使用,不上APP直接提供的功能,但是也会影响到用户的体验. 13.1 测试APP安装文件的大小和安装过程 通过APP文件大小,可以判断安装APP时用户流量的消耗:通过测试APP安装过程,可以验证APP安装的功能是否正常. 作为用户,如果使用的是数据网络,APP安装文件如果太大,一般不会考虑马上安装(等待WiFi),但是到了又WiFi的地方,可能会忘记. Apple会限制APP最大容量,目前为4GB(2015.02.12),但是仍然维持OTA(普通空中网络下载方式)方式下载APP的容量

android中如何实现UI的实时更新---需要考虑电量和流量

1.如果不考虑电量和流量的话,只需要在对应的activity里面继承Runnable,在run方法里面写一个while死循环,调用接口返回数据,如果数据发生了变化,就立即更新UI 2.需要考虑电量的话,就是 远程服务器端  把消息 发送给客户端,客户端收到信息,去发一个广播,对应的activity收到广播就去更新UI,这个广播发出者就是一个后台service组件 类似的问题: ----------------------网上有个帖子,说了一个handler同时更新多个activity的界面,做法

水面波浪形View--第三方开源--WaveView(电量、能量、容量指示)

这种WaveView在一些常见的APP开发中,以水面波浪波形的形象的生动展示手机还剩余多少电量,存储容量还有多少,比较形象直观生动. WaveView在github上的项目主页是:https://github.com/john990/WaveView 代码: activity_main.xml: 1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:wave="

BroadcastReceiver接收电量变化的广播-------在代码中动态创建接受者

本例为动态创建广播接收者即不是在AndroidManifest.xml文件中定义的广播接收着 代码: 1 package com.qf.broadcastreceiver01; 2 3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.content.BroadcastReceiver; 6 import android.content.Context; 7 import android

Android中检查、监听电量和充电状态的方法

Android中检查.监听电量和充电状态的方法 这篇文章主要介绍了Android中检查.监听电量和充电状态的方法,如判断当前充电状态.监听充电状态的改变.判断当前剩余电量等,需要的朋友可以参考下 当你在更改后台更新频率来减少这些更新对电池寿命的影响时,检查当前电量和充电状态是一个好的开始. 电池寿命通过剩余电量和充电状态来影响应用更新的执行.当用交流电充电时,执行更新操作对设备的影响是微不足道的,所以在大多数案例里,你可以把更新频率调到最快.如果设备不在充电,降低更新频率可以帮助延长电池寿命.

【转】无需root Android 4.4现已支持显示电量百分比

原文网址:http://android.tgbus.com/shouji/news/201311/481145.shtml 现如今,大多数安卓设备.第三方ROM都可以在状态栏以百分比的形式精确显示剩余电量,还有很多软件可以做到这一点,但是原生的安卓一直没有这个非常基础的小功能,直到安卓4.4. 有人发现,Nexus 5上已经可以显示电量剩余XX%了,而且不需要Root,但它默认没有开启,而且隐藏得很深,需要通过ADB执行以下命令: adb shell content insert --uri c

电量监控

一.监控指令: adb shell dumpsys battery level:电量 手机连接电脑时通常都在充电,这样测试就不准确了,需要设置到不充电状态,手机status不等于就不是充电状态 adb shell dumpsys battery set status 1 二.监控脚本: #/usr/bin/python #encoding:utf-8 import csv import os import time #控制类 class Controller(object): def __ini