Android 录制回放原理

录制回放的方法大概了解了下,一般实现原理有:
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解析的.
以上内容来源于Robotium.cn官方交流群。
作者  LUJIAQI12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值