Autojs原理

Auto.js的核心参见 https://github.com/hyb1996/Auto.js/tree/master/autojs/src/main/java/com/stardust/autojs
其中runtime.api的包便是各种api的封装。
至于apk打包,参见 https://github.com/hyb1996/Auto.js-ApkBuilder 。

  1. 这个软件的ui界面并不是由js写的。是这个软件提供了一个可以编写界面的js环境。这个软件本身的界面是由Java和Android XML编写的。
  2. 这是利用了AccessibilityService的API。参见AccessibilityService的getRootInActivieWindow()函数。
  • common模块提供了其他各个模块的公用类、工具等,例如一些数据结构、View工具类等。是其他各个模块的依赖。
  • automator模块实现了自动操作的大部分内容。包括选择器的实现、简单操作的实现、控件节点的封装等。是autojs模块的依赖。
  • autojs模块是Auto.jsJavaScript运行环境,包括脚本引擎的封装,核心运行库的实现,对JavaScript层暴露的API,JavaScript和Java的交互。同时提供了管理运行的JavaScript脚本的服务。
  • app模块是界面、业务逻辑。依赖autojs模块。
  1. 项目主要需要Android基础,和uiautomator基础没有太大关系。

你可能感兴趣的:(Autojs原理)