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. TODO:BGP 建立过程

    //TODO: Quagga 实时监控配置文件

  2. 2018-2019-2 《网络对抗技术》Exp0 Kali安装

    2018-2019-2 <网络对抗技术>Exp0 Kali安装 ---20165110 一.实验要求 1.下载 2.安装Kali 3.连接网络 4.共享文件 5.更新软件源 二.实验步骤 ...

  3. 企业BGP网络规划案例(二)

    设计思路梳理 1.AS的划分 : 由于该办公网物理上被划分为总部和两个异地的办公分支,总部和分支互联采用MSTP线路,为了方便管理和更为灵活的进行路由控制,选择BGP作为总部和分支的路由协议.关于AS ...

  4. 递归可视化之汉诺塔的动画实现(turtle海龟)

    import turtle class Stack: def __init__(self): self.items = [] def isEmpty(self): def push(self, ite ...

  5. flutter ListView简介

    child: new Container( child: new Center( child: ListView( shrinkWrap:true, children: <Widget>[ ...

  6. 【Android端】【日志收集上报SDK相关内容测试的方案梳理总结】

    测试方案: 主要从几个方面关注,功能 性能 服务端策略(目前所有的这些上报收集等都会通过开关的精细化,通过接口方式将信息返回给APP端,APP端根据相关内容进行上报,因此基于此的上报机制及收集机制都需 ...

  7. java 中拿项目路径

    public class ItemPathInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHan ...

  8. Codeforces Round #552 (Div. 3) F题

    题目网址:http://codeforces.com/contest/1154/problem/F 题目大意:给出n,m,k,n是物体的个数,m是优惠方式的种数,k是需要购买的物体个数, 然后给出n个 ...

  9. linux-kernel-4.4 移植 (2)解决上部遗留DMA-PL330的问题

    查看drivers/tty/serial/samsung.c文件发现,当传输数据量小于ourport->min_dma_size时,不使用DMA,大于等于min_mda_size时才是使用DMA ...

  10. BFC是什么及能用它能做什么

    最近较为频繁的碰到了一个新的名词:BFc,每次都可以在相关的技术博客里面看到对其的简单介绍,刚开始以为自己懂了,但实际上没懂,今天就来搞清楚它到底是什么,以及我们能用他做什么? BFC:全名为 Blo ...