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