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. layui-xtree 设置单选框,只能选一个

    以下是js代码,首先获取所有节点,再设置只有当前点击的节点状态为选中状态 $.ajax({ type: 'get', url: url, error: function(err){ layer.ale ...

  2. hibernate的开始

    1.1对象的持久化 对象持久化是指将内存中的对象保存到可永久保存的存储设备中(如磁盘)的一种技术.(hibernate是通过id来管理对象) 1.2怎样实现持久化 1 对象序列化 2 JDBC 3 O ...

  3. python的apidoc使用

    一.apidoc的安装 npm install apidoc -g -g参数表示全局安装,这样在哪儿都能使用. 二.apidoc在python接口代码中的使用 def index(): "& ...

  4. 101210-450789-147200(可以激活Xshell5,而且可以升级) 亲测可用 只能用于xshell5

    101210-450789-147200(可以激活Xshell5,而且可以升级) 亲测可用 只能用于xshell5

  5. SDL2.0 vs2017环境配置

    到SDL的官网下载VC++的Development Libraries. 新建一个项目,进入属性窗口. VC++目录->包含目录加入include所在路径,库目录加入lib\x86所在路径. 链 ...

  6. 【redis 学习系列】安装-配置-卸载Redis

    一.安装 wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxf redis-.tar.gz ln -s redis- r ...

  7. swift 移除控制器中的已经存在的VC 注意

    1.要用 || 2. 如果使用这个代码 只会移除一个VC

  8. hystrix参数详解

    hystrix.command.default和hystrix.threadpool.default中的default为默认CommandKey Execution相关的属性的配置: hystrix. ...

  9. 52-2018 蓝桥杯省赛 B 组模拟赛(一)java

    最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增.比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 313133131 ...

  10. Linux-Slabinfo

    1.内存管理有两个算法:伙伴算法(buddy system)和slab算法.伙伴算法是以页为单位管理内存,slab算法是以字节为单位管理内存,是内核的小内存管理算法.特点是基于对象进行管理. slab ...