A、事件注入与控制引擎型
1)Monkey
Monkey中最重要的类,其中包括了main函数是monkey程序的入口,run(String[] args)函数则为monkey的事件注入和控制引擎函数,完成了monkey的功能,它接受了用户输入的参数后,首先通过processOptions()、loadPackageLists()、getSystemInterfaces()、getMainApps()等函数判断参数正确性、参数是否满足约束限制和初始化参数值和各类初始变量。然后通过创建了对应参数的事件源,接着通过runMonkeyCycles()完成事件的注入和控制。
2)ActivityController
Monkey中的内嵌类,完成activity的合法性的判断和activity的状态控制。通过这个类,monkey可以控制程序不会跳转到指定包外的activity,可以检测到activity是否不响应、是否崩溃。