自己加了 junit 的 jar 到测试 apk?
录制回放的方法大概了解了下.一般实现原理有:
1.基于坐标的实现,monkeyrunner 为主要代表.通过截屏获取屏幕,进行缩放解析动作点,monkeyrunner 使用的截图方法效率较低,对于 root 的手机可以使用类似 gsnap 之类的截图模式进行改进,另外采用的 python 脚本,对于 java 开发的 android 额外增加了语言复杂度.还有不同的手机设备响应时间不固定,导致脚本可执行行也较差.但是可以跨 app 录制.
2.利用 asjectJ 来进行录制的.通过对 class 文件的 weaving,来监控类似的 onClick 等事件并进行记录,对于有源代码的 app 较容易实现,编译 apk 时进行 weaving 即可.只有 apk 的模式,需要反汇编出 jar,再对 jar 进行 weaving 再编译回 apk 实现,对于无法反编译出 jar 的,就无法使用了.真针对单一的 app.
3.通过 getevent 获取事件信息解析的.通过解析事件类型,可以监控手机全部操作,也可以跨 app.实现形式也是解析成坐标点,是另一种获取坐标点的方式.
4.通过修改事件处理的 baidu cafe,拦截所有的事件,添加日志记录.
5.还有看到的资料说 JDPA 监听 VM stackframe 解析的