事件触发原理
Monkey的主要发送一些随机交互事件模拟人的随机操作。
事件 | 原理 |
---|---|
触摸事件:屏幕以及物理键的触摸,滑动,点击事件。 | Monkey直接调用hiden API实现。 |
Activity事件:调用Android系统组件的事件 | Monkey是直接通过IActivityManager实例 |
Window事件:例如转屏 | 直接用IWindowManager实现 |
框架设计
主要分成两块,核心类是Monkey.java(入口+调度中心), MonkeyEventSource.java(工厂), MonkeyEvent.java(具体实现)。
- 产生事件
- 触发事件
运行原理
在terminal中执行adb shell monkey,实际上是执行手机中/system/bin/monkey这个脚本。
通过/system/bin/app_process运行/system/framework/monkey.jar。