adb命令用wifi方式连接手机
因为要通过adb命令来监控手机的耗电量,所以建议通过wifi的方式来连接手机,而不是用usb线来连接手机设备。usb方式连接手机会自动给手机充电,这样会影响对耗电量的统计的准确性。通过下面方式来连接手机:
$ adb connect 10.1.217.238 #通过输入手机的ip地址来连接手机,ip地址可以在手机的wifi设置中找到connected to 10.1.217.238:5555
如果看到connected字样就是证明连接成功了,可以通过下面adb命令来验证:
$ adb devicesList of devices attached10.1.217.238:5555 device04c5a5af52197902 device
注意如果你遇到下面的错误提示,请通过adb tcpip 5555命令来重启端口,具体命令代码如下:
$ adb connect 10.1.217.238unable to connect to 10.1.217.238:5555: Connection refused$ adb tcpip 5555 # 要先通过usb正确连接手机和电脑restarting in TCP mode port: 5555$ adb connect 10.1.217.238 #再次尝试连接手机connected to 10.1.217.238:5555
成功通过wifi连接好手机后,就可以断开usb数据线连接了。
adb命令查询被测试app的uid
启动要测试的app后,再使用下面命令来查询被测应用的uid
$ adb shell ps | grep com.package.name # 输入被测试应用的包名称u0_a138 30976 202 1738008 131660 ffffffff 00000000 S com.package.name
输出结果中第一个字段就是这个应用的uid,后面在查看电池统计报告中需要用到,但是注意要将字段中的下划线“_”去掉。例如u0_a138,替换为u0a138。
adb电池信息相关命令
下面命令可以查看设备的电池信息:
$ adb shell dumpsys batteryCurrent Battery Service state: AC powered: false USB powered: false Wireless powered: false status: 3
health: 2
present: true level: 93 #剩余电量百分比 scale: 100
voltage: 4293
temperature: 350
technology: Li-ion
上面比较有用的是剩余电量百分比(level)
可以用下面命令来查看详细的电池使用信息:
$ adb shell dumpsys batterystats | less
因为输出的信息很多,所以使用less命令来查看。也可以将输出重定向到一个日志文件中。
$ adb shell dumpsys batterystats > batterystats_log.txt
通过下面命令来重置电池的统计信息:
$ adb shell dumpsys batterystats --resetBattery stats reset.
app耗电量的具体测试方法
首先通过上面提到的命令正确通过wifi连接手机和电脑,通过adb devices命令确认连接成功,查询到被测应用的uid,并且在测试开始前将电池的统计信息重置。 然后开始操作被测应用,例如,持续点击此应用10分钟,等时间到了之后,通过下面命令来保存电池信息到本地。
$ adb shell dumpsys batterystats > batterystats_log.txt
再通过文本编辑器打开刚刚保存的文件,并查看Estimated power use (mAh)相关信息,并查看对应uid的耗电信息。 这样就得到,10分钟前端正常使用app后,这个app的具体耗电情况啦。
获取整个设备的电量消耗信息: adb shell dumpsys batterystats | more获取某个apk的电量消耗信息: adb shell dumpsys batterystats com.turing.turingwatchgame.qihu360 | more > batterystats_log1.txt
com.turing.turingwatchgame.qihu360
python historian.py appbatterystats.txt > batterystats.html
网友评论