android adb:电池与电量

作者: 一直小鱼 | 来源:发表于2016-02-03 11:39 被阅读7158次

手机每个硬件的耗电量是不一样的!比如屏幕就是耗电大户!其它一些元件则耗电量非常小!
使用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            #电池健康状态:只有数字2表示good
  present: true      #电池是否安装在机身
  level: 55             #电量: 百分比
  scale: 100
  voltage: 3977      #电池电压
  current now: -335232
  temperature: 335      #电池温度,单位是0.1摄氏度
  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电池电量优秀文章


  1. 传输数据时避免消耗大量电量:
    http://hukai.me/android-training-course-in-chinese/connectivity/efficient-downloads/index.html
  2. Android性能优化之电量篇:
    http://hukai.me/android-performance-battery/

相关文章

  • android adb:电池与电量

    手机每个硬件的耗电量是不一样的!比如屏幕就是耗电大户!其它一些元件则耗电量非常小!使用android dumpsy...

  • Android电池管理系统

    Android电池管理系统总体实现:电池管理在Android系统中的主要作用是检测我们的电池状态,剩余电量实时更新...

  • Android 电池电量

    Android 中通过广播获取电池电量信息. 电量信息只能通过动态注册广播才能获取到. 1.0 注册广播的两种方式...

  • 电量优化

    1, 分析电量的工具Android 5.0及以上的设备, 允许我们通过[adb命令dump出电量使用统计信息.ad...

  • Android广播大全Intent

    Android广播大全Intent //关闭或打开飞行模式时的广播 //充电状态,或者电池的电量发生变化 //电池...

  • Android获取电池电量

    方法一:注册广播(被动接受) 方法二:通过执行命令(不需要root) 通过 adb shell dumpsys b...

  • Android中的Doze模式

    概述 Android 6.0引入的Doze机制在于节省系统耗电量,保护电池,延长电池的使用时间。当设备未连接至电源...

  • Android 自定义电池控件

    前言: 本文提供一个Android开发中可能会使用到电池控件view,有水平和垂直两个方向,同时根据电池电量更改电...

  • Arduino检测外部电池供电电量方法

    [TOC] 测量电池电量原理 对于锂电池而言,可以用电池电压近似代替指示电池电量,一般来说单节锂电池电压范围是3~...

  • react-native 获取设备网络适配器MAC地址(reac

    React Native iOS和Android的设备信息,比如["获取应用程序名称","获取设备的电池电量为浮点...

网友评论

  • 放鸽子_高手:结果如下:
    Current Battery Service state:
    AC powered: false
    USB powered: true
    Wireless powered: false
    status: 2
    status: 1
    health: 2
    present: true
    present: false
    level: 80
    level: 50
    scale: 100
    voltage: 3951
    temperature: 380
    technology: Li-ion

    其中两个status、present、level 分别代表什么意思?
  • 3058b007375f:改成1%的电量了怎么恢复啊哥????????????
    3058b007375f: 谢谢大佬
    91501a9db8f1:adb shell dumpsys battery reset
    一直小鱼: @3058b007375f 最简单的 关机重启
  • 糊掉的麵:请问用adb命令:adb shell dumpsys battery获取手机电池信息时里面的health: 2是什么意思
    一直小鱼:health,表示电池健康状态,共有7种,从1到7。只有数字2表示电池运行良好健康。
    数字1:不清楚电池状况;
    数字2:电池良好
    数字3:电池过热
    数字4:没电或电池损坏
    数字5:过压
    数字6:未知错误
    数字7:电池过冷

本文标题:android adb:电池与电量

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