#夜神模拟器打开开发者模式步骤:
#设置--》关于平板电脑--》狂点系统版本号--》返回设置,进入开发者选项
#--》勾选USB调试
#adb指令 检查当前连接设备
adb devices
#夜神模拟器连接设备
adb connect 127.0.0.1:62001
#切换到Android的Linux系统,输入exit退出系统
adb shell
#启动adb服务
adb start-server
#关闭adb服务
adb kill-server
#查找当前系统中所有的安装包以及路径
adb shell pm list package -f
#查找当前系统中包含该字段的软件包
adb shell pm list package -f 搜索的字段
#先运行想要查找的软件,再执行指令,可以返回当前运行的软件包名以及事件
adb shell dumpsys window w | findstr name=
#其他用法:
adb shell dumpsys window | findstr mCurrentFocus
adb shell dumpsys activity | grep mFocusedActivity
#将当前系统运行的activity的日志导入到本地,通过文本搜索,查找
adb shell dumpsys activity > E:\本地路径\namelog.txt
#包名:com.wandoujia.phoenix2
adb shell monkey -p packagename -v 100 > E:\本地路径\namelog.log
#monkey的基本指令
adb shell monkey -p com.wandoujia.phoenix2 -v 100
seed=1573762270466
#安装
adb -s devicename install packagename(.apk包名)
adb -s 127.0.0.1:62001 install C:\Users\THINK\Desktop\App\jisuanqi_370.apk
#-r 覆盖安装
adb -s devicename install -r packagename
#卸载
adb -s 127.0.0.1:62001 uninstall com.wandoujia.phoenix2(已经安装好的package名)
#从电脑推送信息到手机
adb push 本地路径\wandoujia.apk /data/local/tmp/wandoujia.apk
#静默安装
adb shell pm install -f 远程路径/wandoujia.apk
#从手机导入信息到电脑
Adb pull 远程路径/Android_packagename D:\本地路径(当前路径:.)
#-p 指定一个或多个包,多个用多个-p指定报名
#-v 用于指定反馈信息详细程度级别,3个级别:分别加一个-v,两个-v,三个-v
#-s 随机种子数,用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。
#--throttle 事件之间的延迟事件 --真实环境的模拟
#例子:让monkey持续10小时运行(稳定性--长时间运行软件) --1万个随机事件间隔为3.6秒换算成毫秒--》3600ms
adb shell monkey -p com.miui.calculator -v -v -s 201911010001 --throttle 3600 10 > d:\20191101_mi02.log
Android基本事件百分比(11个事件的总和是100%)
0:触摸事件百分比 参数--pct-touch
1:滑动事件百分比 参数--pct-motion
2:缩放事件百分比 参数--pct-pinchzoom
3:轨迹球事件百分比 参数--pct-trackball
4:屏幕旋转事件百分比 参数 - -pct-rotation
5:基本导航事件百分比 参数 --pct-nav
6:主要导航事件百分比 参数--pct-majornav
7:系统事件百分比 参数--pct-syskeys
8:Activity启动事件百分比 参数--pct-appswitch
9:键盘翻转事件百分比 参数--pct-flip
10:其他事件百分比 参数--pct-anyevent
adb shell monkey -p com.miui.calculator -v -v --throttle 1600 --pct-touch 100 10 > d:\20191101_mi03.log
adb shell monkey -p com.miui.calculator -v -v --throttle 1600 --pct-touch 50 --pct-motion 50 10 > d:\20191101_mi03.log
--ignore-crashes 忽略崩溃crash
--ignore-timeouts anr 空指针
--ignore-security-exceptions 忽略安全异常
--ignore-native-crashes 忽略本地异常崩溃
--kill-process-after-error(monkey异常停止,自动继续)
--monitor-native-crashes(监视android系统的本地代码的崩溃事件)
adb shell monkey -p com.miui.calculator -v -v --throttle 1600 --pct-touch 50 --pct-motion 50 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes 300 > d:\20191101_mi03.log
#冷启动语法:(热启动也是同一个指令,但是不关闭应用,挂在后台)
adb shell am start -W [packageName]/[packageName.MainActivity]
#每次执行都是冷启动
adb shell am start -W -S [packageName]/[packageName.MainActivity]
package/activity:
com.miui.calculator/com.miui.calculator.cal.CalculatorActivity
#冷启动
adb shell am start -W com.miui.calculator/com.miui.calculator.cal.CalculatorActivity
adb shell am start -W -S com.miui.calculator/com.miui.calculator.cal.CalculatorActivity
#冷启动的停止
adb shell am force-stop com.miui.calculator
#热启动的停止 ---3代表的是手机上的back返回键
adb shell input keyevent 3
#APP性能监控:
#查看CPU信息
adb shell dumpsys cpuinfo
adb shell dumpsys cpuinfo | findstr com.miui.calculator
#动态查看CPU占用最高的5个进程
adb shell top -m 5
#查看内存信息
adb shell dumpsys meminfo 包名或pid
#查看流量信息
#获取pid
db shell ps | grep(findstr) package
11983 --指定的包运行的进程id
adb shell
cat /proc/11983/net/dev
#关注的是:Receive+Transmit=总的流量
#获取电量命令:
adb shell dumpsys battery
#切换非充电状态
命令:adb shell dumpsys battery set status 1
#只要非2就可以了,因为2是代表充电状态
class App(object):
def __init__(self):
self.content='' # 指令打印出来的内容
self.startTime = 0
def LaunchApp(self):
cmd = '启动APP的指令:包名/activity'
self.content=os.popen(cmd)
def StopApp(self):
cmd = '冷停止APP的指令:包名'
os.popen(cmd)
def GetTime(self):
for line in self.content.readlines():
print(line) #打印遍历的启动时间
if "ThisTime" in line:
self.startTime = line.split(":")[1]
#line.split(":")--[('ThisTime','1025')]
break
return self.startTime
class Controller(object):