ADB命令
使用的是adb shell dumpsys命令,该命令可以查询出当前系统的信息,CPU就是其中一项。我们用cpuinfo限定显示CPU信息,通过搜索APP包名过滤出要测试的APP(Linux系统可以用grep)。
adb shell dumpsys cpuinfo | find "包名"
运行结果图如下:我们查看的是浏览器的所占用的CPU,值为71%
监控CPU脚本实现
基于python3,具体实现如下:
#encoding=utf-8
import os
import time
import csv
class Controller():
def __init__(self):
self.alldata=[('time','CPU')]
#运行命令查询cpu值,参数:appPackage为app包名,count为查询次数,sleepTime为每次查询时间间隔,默认为1S。
def run(self,appPackage,count,sleepTime=1):
while count>0:
cmd='adb shell dumpsys cpuinfo | find "'+appPackage+'"'
nowtime=self.getCurrentTime()
result=os.popen(cmd)
cpu=result.readline().split('%')[0]
self.alldata.append((nowtime,cpu))
time.sleep(sleepTime)
count=count-1
#获取当前时间
def getCurrentTime(self):
return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
#将获取的所有cpu值存放在csv文件中,参数path为csv文件路径
def saveDataToCSV(self,path):
file=open(path,'w')
writer=csv.writer(file)
writer.writerows(self.alldata)
file.close()
if __name__=="__main__":
controller=Controller()
controller.run('com.android.browser',20)
controller.saveDataToCSV('cpu.csv')
运行之后得到的csv文件如下图: