[Android电量] 耗电信息统计服务battery / BatteryStats

简介: 通过执⾏battery命令(不需要root)adb命令获取电量量消耗信息获取整个设备的电量量消耗信息获取某个apk的电量量消耗信息batterystats使用步骤通过执⾏battery命令(不需要root)通过 adb shell dumpsys battery,返回结果后有电池的...
  • 通过执⾏battery命令(不需要root)
  • adb命令获取电量量消耗信息
  • 获取整个设备的电量量消耗信息
  • 获取某个apk的电量量消耗信息
  • batterystats使用步骤

通过执⾏battery命令(不需要root)

通过 adb shell dumpsys battery,返回结果后有电池的各种信息,其中就包括

level(百分⽐比)
adb命令查看电池电量量信息:

adb shell dumpsys battery

 eroqltechn:/ $ dumpsys battery Current Battery Service state: 
mBootCompleted: true
AC powered: false #有线充电器状态
USB powered: true #USB连接状态
Wireless powered: false #无线充电状态
Max charging current: 0 #最大充电电流,单位微安(uA)
Max charging voltage: 0 #最大充电电压,单位微伏(uV)
Charge counter: 0
status: 2 #充电状态,UNKNOWN=1,CHARGING=2,DISCHARGING=3,

NOT_CHARGING=4,FULL=5
health: 2 #电池健康状态:只有数字2表示goodpresent: true #电池是否安装在机身
level: 93 #电量: 百分比
scale: 100 #满电100%
voltage: 4265 #电池电压
temperature: 289 #电池温度,单位是0.1摄氏度technology: Li-ion #电池种类batterySWSelfDischarging: falsebatteryMiscEvent: 0
mSecPlugTypeSummary: 2
LED Charging: true
LED Low Battery: true
current now: 217 #电流值,负数表示正在充电charge counter: 0
Adaptive Fast Charging Settings: true

 USE_FAKE_BATTERY: false  SEC_FEATURE_BATTERY_SIMULATION: false  FEATURE_WIRELESS_FAST_CHARGER_CONTROL: true 
 mWasUsedWirelessFastChargerPreviously: false 
 mWirelessFastChargingSettingsEnable: true  BatteryInfoBackUp 
 mSavedBatteryAsoc: 88  mSavedBatteryMaxTemp: 429  mSavedBatteryMaxCurrent: 1746  mSavedBatteryUsage: 6447  FEATURE_SAVE_BATTERY_CYCLE: true

adb命令获取电量量消耗信息

获取整个设备的电量量消耗信息

adb shell dumpsys batterystats | more

获取某个apk的电量量消耗信息

adb shell dumpsys batterystats com.sdu.didi.psnger | more

由于输出信息太多,可使⽤用命令more 或者 less 分篇查看 输出信息如下(由于篇幅, 只粘贴部分)

heroqltechn:/ $ dumpsys batterystats com.sdu.didi.psnger Discharge step durations:

#0: +1h43m34s304ms to 92 (screen-off, power-save-off, device- idle-on)

#1: +1h54m26s635ms to 93 (screen-off, power-save-off, device- idle-on)

#2: +1h59m33s225ms to 94 (screen-off, power-save-off, device- idle-on)

#3: +1h58m56s325ms to 95 (screen-off, power-save-off, device- idle-on)

#4: +2h2m44s341ms to 96 (screen-off, power-save-off, device-idle- on)

#5: +2h2m20s111ms to 97 (screen-off, power-save-off, device-idle- on)

#6: +1h46m1s361ms to 98 (screen-off, power-save-off, device-idle- on)

 Estimated screen off time: 8d 0h 17m 12s 800ms Estimated screen off device idle time: 8d 0h 17m 12s 800ms 
 Daily stats: Current start time: 2019-01-22-04-46-42 Next min deadline: 2019-01-23-01-00-00 Next max deadline: 2019-01-23-03-00-00 Current daily steps: 
Discharge total time: 7d 19h 32m 18s 800ms (from 3 steps) Discharge screen off time: 7d 19h 32m 18s 800ms (from 3 steps) Discharge screen off device idle time: 7d 19h 32m 18s 800ms

(from 3 steps)
Daily from 2019-01-21-11-43-46 to 2019-01-22-04-46-42:

Discharge total time: 8d 3h 3m 13s 700ms (from 3 steps) Discharge screen off time: 8d 3h 3m 13s 700ms (from 3 steps) Discharge screen off device idle time: 8d 3h 3m 13s 700ms

(from 3 steps)
Charge total time: 6h 35m 21s 800ms (from 18 steps)

也可以将上述命令标准输出到⼀一个⽂文件,来进⾏行行分析。 windows : > xxx.txt Mac/Linux: > xxx.txt

将获得的数据转换为可视化的html⽂文件 命令:python historian.py xxx.txt > xxx.html

关于电量,还可以通过battery-historian⼯工具来获取。https://github.com/google/battery-historian

batterystats使用步骤

第一步:清除手机电量消耗历史情况(连接手机)

adb shell dumpsys batterystats -enable full-wake-history =====打开全量日志记录
adb shell dumpsys batterystats --reset =====清空电量数据

第二步:设计场景测试(注:不链接手机)
\

第三步:导出测试数据

adb shell dumpsys batterystats > d:/batterystat.txt   =======生成TXT文件(导出到本地)
adb shell dumpsys batterystats > /sdcard/batterystat.txt   =======生成TXT文件(导出到SD卡)

exit-----退出shell命令
相关文章
|
2月前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
34 1
|
6月前
|
调度 Android开发
43. 【Android教程】服务:Service
43. 【Android教程】服务:Service
64 2
|
2月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
369 2
|
3月前
|
JavaScript 前端开发 Android开发
让Vite+Vue3项目在Android端离线打开(不需要起服务)
让Vite+Vue3项目在Android端离线打开(不需要起服务)
126 10
|
3月前
|
调度 Android开发 UED
Android经典实战之Android 14前台服务适配
本文介绍了在Android 14中适配前台服务的关键步骤与最佳实践,包括指定服务类型、请求权限、优化用户体验及使用WorkManager等。通过遵循这些指南,确保应用在新系统上顺畅运行并提升用户体验。
276 6
|
3月前
|
安全 API 开发工具
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
Android平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断,添加相应的权限。
|
3月前
|
编解码 开发工具 Android开发
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器
|
4月前
|
数据处理 开发工具 数据安全/隐私保护
Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路
本文探讨了Android平台上推流模块中添加文字与PNG水印的技术演进。自2015年起,为了满足应急指挥及安防领域的需求,逐步发展出三代水印技术:第一代为静态文字与图像水印;第二代实现了动态更新水印内容的能力,例如实时位置与时间信息;至第三代,则优化了数据传输效率,直接使用Bitmap对象传递水印数据至JNI层,减少了内存拷贝次数。这些迭代不仅提升了用户体验和技术效率,也体现了开发者追求极致与不断创新的精神。
|
4月前
|
数据采集 编解码 开发工具
Android平台实现无纸化同屏并推送RTMP或轻量级RTSP服务(毫秒级延迟)
一个好的无纸化同屏系统,需要考虑的有整体组网、分辨率、码率、实时延迟、音视频同步和连续性等各个指标,做容易,做好难
|
4月前
|
监控 开发工具 Android开发
Android平台实现RTSP拉流转发至轻量级RTSP服务
为满足Android平台上从外部RTSP摄像头拉流并提供轻量级RTSP服务的需求,利用大牛直播SDK实现了相关功能。SDK支持开始与停止拉流、音频视频数据回调处理及RTSP服务的启动与发布等操作。拉流仅需将未解码数据回调,对性能影响小。音频和视频数据经由特定接口传递给发布端进行处理。此外,SDK还提供了获取RTSP会话数量的功能。此方案适用于监控和巡检等低延迟应用场景,并支持二次水印添加等功能。