Android手机app电量测试

Android 5.0及以上的设备, 允许我们通过adb命令dump出电量使用统计信息

第一步:手机安装要测试的应用,打开手机开发者模式-USB模式,运行cmd.exe:

adb kill-server

adb devices //查看手机连接是否正常

第二步:因为电量统计数据是持续的, 会非常大, 统计我们的待测试App之前先reset下, 连上设备, 命令行执行。

adb shell dumpsys batterystats --reset

  此时,手机里电量统计被清除,建议确定手机连接成功,多清理几次。而后再断开USB数据线,操作要测试的app相应的测试流程。

第三步:重新连接手机

adb devices //再次确认是否连接成功

//此命令持续记录输出,要想停止记录时按Ctrl+C退出
adb shell dumpsys batterystats > E:\batterystats1.txt

  导出的统计数据存储到batterystats1.txt,我们可以在此文件中间看到电池的消耗情况:

Estimated power use (mAh):
Capacity: 3100, Computed drain: 206, actual drain: 186-217
Screen: 66.4
Uid u0a723: 55.7 ( cpu=47.3 wifi=8.29 gps=0.00237 sensor=0.0443 )
Uid 1000: 21.9 ( cpu=21.8 wifi=0.104 )
Idle: 20.2
Uid u0a34: 14.0 ( cpu=0.145 gps=13.9 )
Cell standby: 8.34 ( radio=8.34 )
Uid 0: 5.05 ( cpu=5.05 )
Uid 1021: 4.12 ( cpu=1.56 sensor=2.56 )
Uid u0a463: 3.27 ( cpu=2.80 wifi=0.281 gps=0.195 )
Wifi: 1.98 ( cpu=0.383 wifi=1.60 )
Bluetooth: 1.59 ( cpu=1.59 )
Uid u0a44: 0.982 ( cpu=0.982 )
Uid u0a462: 0.930 ( cpu=0.814 sensor=0.116 )
Uid u0a66: 0.486 ( cpu=0.486 )
Uid 1036: 0.455 ( cpu=0.455 )
Uid u0a518: 0.228 ( cpu=0.228 )
Uid 1001: 0.184 ( cpu=0.184 )
Uid 1041: 0.116 ( cpu=0.116 )
Uid u0a65: 0.116 ( cpu=0.116 )
Uid u0a90: 0.0506 ( cpu=0.0506 )
Uid u0a67: 0.0486 ( cpu=0.0486 )
Uid u0a5: 0.0397 ( cpu=0.0397 )
Uid u0a61: 0.0329 ( cpu=0.0329 )
Uid u0a41: 0.0275 ( cpu=0.0275 )
Uid 1013: 0.0195 ( cpu=0.0195 )
Uid u0a55: 0.0144 ( cpu=0.0144 )
Uid u0a63: 0.00667 ( cpu=0.00667 )
Uid u0a64: 0.00549 ( cpu=0.00549 )
Uid 1027: 0.00510 ( cpu=0.00510 )
Uid u0a103: 0.00454 ( cpu=0.00454 )
Uid u0a25: 0.00333 ( cpu=0.00333 )
Uid u0a15: 0.00300 ( cpu=0.00300 )
Uid u0a20: 0.00276 ( cpu=0.00276 )
Uid 1019: 0.00163 ( cpu=0.00163 )
Uid 1017: 0.000933 ( cpu=0.000933 )
Uid u0a10: 0.000732 ( cpu=0.000732 )
Uid u0a17: 0.000711 ( cpu=0.000711 )
Uid u0a58: 0.000666 ( cpu=0.000666 )
Uid u0a14: 0.000535 ( cpu=0.000535 )
Uid u0a53: 0.000535 ( cpu=0.000535 )
Uid u0a2: 0.000533 ( cpu=0.000533 )
Uid u0a75: 0.000278 ( cpu=0.000278 )
Uid u0a82: 0.000212 ( cpu=0.000212 )
Uid u0a78: 0.000180 ( cpu=0.000180 )

  Computed drain 显示的是总电量,Screen 显示的是屏幕使用电量,在日志的后面可以看出 Uid u0a723 是操作的应用,Idle 显示的是重定时器使用电量;

  一般是  功耗的计算=CPU消耗+Wake lock消耗+数据传输消耗+GPS消耗+ Wi-Fi连接消耗

  这次我测试的是 Screen + Uid u0a723 + Idle + Wifi + Bluetooth 的电量。

  

注:这是我此次工作中的学习总结,后面持续需改完善。

Android手机app的adb命令测试电量的更多相关文章

  1. Android手机app耗电量测试工具 - Gsam Battery Monitor

    这段时间需要测试一个Android手机app的耗电量,在网上找了一个工具,Gsam Battery Monitor,觉得挺好用,和大家分享一下. 安装app后打开,可以看到主界面是这样的 点击一下上图 ...

  2. [转]Mac OS X 下部分Android手机无法连接adb问题之解决方案

    时至当今,Android山寨手机厂商已如此之多,能修改和个性化定制Android OS的能人已是多如牛毛,有的牛人修改Android系统只会影响所修改的点,不会影响其它,然后还有的就不多说了,总之做的 ...

  3. Mac OS X 下部分Android手机无法连接adb问题之解决方案

    [原文]  时至当今,Android山寨手机厂商已如此之多,能修改和个性化定制Android OS的能人已是多如牛毛,有的牛人修改Android系统只会影响所修改的点,不会影响其它,然后还有的就不多说 ...

  4. 分享我开发的网络电话Android手机APP正式版,图文详解及下载

    分享我开发的网络电话Android手机APP正式版,图文详解及下载 分享我开发的网络电话Android手机APP正式版 实时语音通讯,可广域网实时通讯,音质清晰流畅! 安装之后的运行效果: 第一次安装 ...

  5. 【Android】1.0 第1章 C#之Android手机App开发

    分类:C#.Android.VS2015:创建日期:2016-01-20 目前Android在全世界市场上大约有75%的占有率,国人Android手机的持有比例更甚,甚至达到90%以上.因此搞计算机的 ...

  6. Android手机app启动的时候第一个Activity必须是MainActivity吗

    原文:Android手机app启动的时候第一个Activity必须是MainActivity吗 Android手机APP启动的第一个Activity是可以自己设置的,不是必须的MainActivity ...

  7. appium常见问题05_修改Android手机运行环境(adb指令修改hosts)

    自动化测试过程中,手机有时会跳网,怎样保持手机测试的环境稳定性,可以通过adb指令修改android手机hosts,保持手机运行在hosts中配置的环境中: 修改方法如下: 前提条件:已安装andro ...

  8. Android开发-略讲adb命令和SQLite数据库运用

    adb.exe  ADB -Android Debug Bridge, 是 Android sdk 里的一个工具,用这个工具可以直接操作管理 Android 模拟器或者真实的 Android 设备 简 ...

  9. Android 开发中常用 ADB 命令总结

    adb 的全称为 Android Debug Bridge,就是起到调试桥的作用.通过 adb 我们可以在 Eclipse 中方便通过 DDMS 来调试 Android 程序,说白了就是 debug ...

随机推荐

  1. Oracle主从同步、双向同步的配置

    (本教程展示了Windows环境的oracle数据库主从同步,Linux环境一样也可以) (把主数据库obpm 和从数据库orcl 用实际的数据库名给替换掉) (配置主从同步后,再配置双向同步,可能会 ...

  2. Ubuntu 增加swap空间大小

    1. create a 1G file for the swap. sudo fallocate -l 1G /swapfile we can verify that the correct amou ...

  3. python中的集合

    在python中,普通集合是可变数据类型 通过以下案例说明: >>> s = {1, 2, 3, 4} >>> id(s) 2108634636808 >&g ...

  4. 笔记之monkey参数(一)

    monkey 参数 参数分类 常规类参数 事件类参数 约束类参数 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数.帮助参数用于输出Monkey命令使用指导:日志信息参数将日志分为三个级别 ...

  5. Java-Oracle数据库连接

    Oracle数据库先创建一个表和添加一些数据,下面是连接数据库的具体实现.(导入jar包:ojdbc14.jar) import java.sql.Connection; import java.sq ...

  6. 移值UCOS2到M4核与M3核的区别

    之前移值过ucos2到stm32f2系列的单片机,这个单片机是属于arm的m3内核的.最近在学习永磁同步电机的控制,对于这个电机的控制,有比较多的数学计算,甚至于还有浮点的运算.所以用到了stm32f ...

  7. win10+tensorflow+CUDA 心酸采坑之路

    最近准备学习机器学习和深度学习,所以入坑Tensorflow,之前一直使用的是Anaconda3的cpu版本的Tensorflow,但是这次作死一直想用GPU版本的,主要是不想浪费我的1080ti,但 ...

  8. FPGA做正则匹配和网络安全,究竟有多大的优势?

    FPGA做正则匹配和网络安全,究竟有多大的优势? 西电通院专用集成电路课程学习 云导播 网络安全已经被提升为国家战略的高度,高校里面的新增的一级学科,去年9月份,中央网信办.教育部公布了“一流网络安全 ...

  9. 每天写两个的java常见面试题—final 和static 的用法

    第一次写随笔,可能写的比较乱,更多的是作为自己记忆一些知识的方式.所有记录的东西都是自己的一些理解,很多语言可能还是从其他大牛的博客里面搬过来的. 一.static的作用: static的的作用从三个 ...

  10. sqlite基本用法

    DDL-数据定义语言 CREATE 创建一个新的表,一个表的视图,或者数据库中的其他对象. ALTER 修改数据库中的某个已有的数据库对象,比如一个表. DROP 删除整个表,或者表的视图,或者数据库 ...