zoukankan      html  css  js  c++  java
  • [转]Android 录制回放原理

    http://www.robotium.cn/archives/995

    录制回放的方法大概了解了下,一般实现原理有:
    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解析的.

  • 相关阅读:
    makefile ifeq ($(LANG),) 判断操作系统
    MIPS 指令集速查
    ps ef|grep mh* 命令
    ulimit c unlimited 命令
    kill 9 2402 命令
    chmod R 777 命令
    计算机网络总结
    source 命令
    ./ 命令
    reboot f 命令
  • 原文地址:https://www.cnblogs.com/Apple010/p/4252368.html
Copyright © 2011-2022 走看看