android adb:电池与电量
手机每个硬件的耗电量是不一样的!比如屏幕就是耗电大户!其它一些元件则耗电量非常小!
使用android dumpsys工具可以获取电池以及电量消耗信息!
dumpsys工具:battery、batterystatus
1. 电池信息
1.1 获取手机电池信息
adb命令: adb shell dumpsys battery
得到信息如下:
AC powered: false
USB powered: true
Wireless powered: false
status: 1 #电池状态:2:充电状态 ,其他数字为非充电状态
health: 2
present: true
level: 55 #电量: 百分比
scale: 100
voltage: 3977
current now: -335232
temperature: 335 #电池状态
technology: Li-poly
1.2 改变手机电池状态
手机连接到电脑,默认为充电状态
切换手机电池为非充电状态: adb shell dumpsys battery set status 1
1.3. 改变手机电量
改变手机电量! 亲,这是真的 !神奇的一刻
让手机电量显示百分百: adb shell dumpsys battery set level 100
让手机电量显示1: adb shell dumpsys battery set level 1
2. 电量消耗信息
关于电量,主要是通过battery-historian工具来获取。
https://github.com/google/battery-historian
2.1 获取电量消耗信息
获取整个设备的电量消耗信息: adb shell dumpsys batterystats | more
获取某个apk的电量消耗信息: adb shell dumpsys batterystats com.Package.name | more
由于输出信息太多,可使用命令more 或者 less 分篇查看
输出信息如下(由于篇幅,只粘贴部分):
Battery History:
-1d04h22m36s181ms 044 20080000 status=charging health=good plug=usb temp=335 volt=3809 +plugged +sensor
-1d04h21m27s713ms 044 640a0000 +wifi +wifi_running +wake_lock
-1d04h21m23s278ms 044 6c0a0100 +phone_scanning phone_state=out
-1d04h21m19s102ms 044 2c0a0100 -wake_lock
-1d04h21m05s005ms 044 6c0a0100 +wake_lock
-1d04h20m51s486ms 044 6d0a0100 +wifi_scan
-1d04h20m49s211ms 044 6c0a0100 -wifi_scan
-1d04h20m41s478ms 044 6c0a0100
-1d04h20m31s476ms 044 6d0a0100 +wifi_scan
-1d04h20m29s174ms 044 6c0a0100 -wifi_scan
-1d04h20m24s353ms 044 2c0a0100 -wake_lock
-1d04h20m21s474ms 044 6d0a0100 +wifi_scan +wake_lock
-1d04h20m21s125ms 044 6d0a0100
-1d04h20m16s847ms 044 2c0a0100 -wifi_scan -wake_lock
也可以将上述命令标准输出到一个文件,来进行分析。
- windows : > xxx.txt
- Mac/Linux: > xxx.txt
2.2 将获得的数据转换为可视化的html文件
命令:python historian.py xxx.txt > xxx.html
Google Python脚本下载地址:https://github.com/google/battery-historian
3. 其他关于android电池电量优秀文章
- 传输数据时避免消耗大量电量:
http://hukai.me/android-training-course-in-chinese/connectivity/efficient-downloads/index.html - Android性能优化之电量篇:
http://hukai.me/android-performance-battery/
android adb:电池与电量的更多相关文章
- Android取得电池的电量
首先需要用到的是一个类继承BrocastReceiver 2 代码如下: public class Battery_Info extends BroadcastReceiver { @Override ...
- android adb常用命令
android adb命令: adb root --获取root.adb remount --获取文件操作权限(push)adb shell pm list package 获取包名列表com.mqt ...
- Android adb push 和 pull操作
由于安卓真机本地调试时,每次启动并生成apk然后安装到设备比较费时,而很多情况是仅仅修改了hot 脚本文件(cocos2dx + lua). 所以,使用热更机制把修改后的lua文件push到热更目录( ...
- Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...
下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...
- 【转】Linux下Android ADB驱动安装详解
原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...
- Android ADB命令详解
adb的全称为Android Debug Bridge.是android司机经常用到的工具 . 你能在本篇文章中学到什么? adb基本指令 Shell AM&PM adb模拟用户事件 logc ...
- Android ADB命令教程二——ADB命令详解
Android ADB命令教程二——ADB命令详解 转载▼ 原文链接:http://www.tbk.ren/article/249.html 我们使用 adb -h 来看看,adb命令里面 ...
- Android ADB命令?这一次我再也不死记了!【简单说】
https://www.jianshu.com/p/56fd03f1aaae adb的全称为Android Debug Bridge.是android司机经常用到的工具.但是问题是那么多命令写代码已经 ...
- Android adb shell data目录,Permission denied
Android adb shell进入data目录,Permission denied 权限被拒绝 在shell里面输入su root,去申请root权限,注意:有小部分手机是需要点击授权,再次执行c ...
随机推荐
- [html][转]常用返回顶部代码
转至:http://jingyan.baidu.com/article/7082dc1ca6b928e40a89bd1a.html 一.使用HTML的锚标记最简单了 但是唯一的缺点就是样式不怎么样,会 ...
- session 重写进入redis测试
在实际业务中,当session存储过多 或者操作频繁,业务逐渐扩展的时候,文件存储已经无法满足session操作速度和需求,可以考虑用数据库或者nosql的redis来存储session,本文讲解如何 ...
- Linux基本操作 9----- 认识与学习bash
一 认识bash这个shell 1 管理整个计算机硬件的其实就是操作系统的内核,这个内核是需要被保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们所想打到的工作. 2 只要能够 ...
- 完全分布式Hadoop2.3安装与配置
一.Hadoop基本介绍 Hadoop优点 1.高可靠性:Hadoop按位存储和处理数据 2.高扩展性:Hadoop是在计算机集群中完成计算任务,这个集群可以方便的扩展到几千台 3.高效性:Hadoo ...
- hdu1754线段树维护区间最大值
#include <iostream> #include <cstdio> using namespace std; #define MAXN 200005 int N,M; ...
- paxos 实现
原文地址:http://rdc.taobao.com/blog/cs/?p=162 本文主要介绍zookeeper中zookeeper Server leader的选举,zookeeper在选举lea ...
- Centos中安装vim
Centos, 默认没有安装VIM, 所以要当然要安装了, 直接yum install vim是不行的, 首先: yum install vim* 会看到vim-enhanced这个包,没错, 我们要 ...
- c# 调用 c++写的DLL
http://www.cnblogs.com/MarsPanda/archive/2012/09/03/2668522.html 解决办法 安装 vcredist 运行库 或者用VC6.0编写DLL ...
- nginx,linux压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 1. wget htt ...
- [React Fundamentals] Component Lifecycle - Updating
The React component lifecycle will allow you to update your components at runtime. This lesson will ...