使用python编程获取Android设备CPU及Meminfo,生成数据图

以下是python源码实现,可直接使用~

 

import uiautomator2 as u2
import time
import threading
import os
import matplotlib.pyplot as plt
import numpy as np
import random

#serial="***"
#d=u2.connect(serial)
sn="*"
initstr="python -m uiautomator2 init >"
snfilename="./initdevice.txt"
activityfilename="./activityfile.txt"
packagefilename="./packagefile.txt"

sysmonkeylog="./sysmonkey.txt"

activityfile=open(activityfilename,mode="w+")
packagefile=open(packagefilename,mode="w+")
activitylist=[]
packagenamelist=[]

totalRAM=[]
freeRAM=[]
usedRAM=[]
lostRAM=[]

sysUserCPU=[]
sysKernelCPU=[]
sysTotalCPU=[]

packagefilterstr="******"	#用于过滤公司内部的package 
drawtime=3600*5	#every 5H draw one time picture for RAM and CPU Analysis
appswitchtimes=1000	#run 1000times circle switch to get packagename from the device
monkeyseed=int(random.random()*10000+1)	#each run for one seed
monkeytimes=1200	#each time 0.3s monkey time long for 0.3*monkeytimes
silencetime=0.3*monkeytimes	#keep silence as long as monkey time
getinfotime=5	#every 5s get one time info data

def initconnect():
	global sn
	global d
	cmdstr=initstr+snfilename
	print(cmdstr)
	os.system(cmdstr)
	sn=open(snfilename,mode="r+").readline().split("=")[1].replace(")","").strip()
	print(len(sn))
	d=u2.connect(sn)
	
def runAppswitch():
	os.system("adb shell monkey -s "+str(monkeyseed)+" --pct-touch 10 --pct-appswitch 90 --throttle 300 -v "+str(monkeytimes))

def getPackageinfo():
	count=0
	global alist
	global plist
	while count<monkeytimes:
		cmdstr="dumpsys window | grep mCurrentFocus | grep "+packagefilterstr
		out=d.shell(cmdstr)
		if(str(out).find("output=''")==-1):
				if(str(out).find("mCurrentFocus=null")==-1):
					if(str(out).split("u0")[1].find("}")!=-1):
						activity
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jamelee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值