Skip to content

Commit

Permalink
docs: 优化一些文档
Browse files Browse the repository at this point in the history
  • Loading branch information
xxxxue committed Aug 13, 2022
1 parent e31774d commit daffd16
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 42 deletions.
13 changes: 6 additions & 7 deletions console.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,9 +204,9 @@ console.setGlobalLogConfig({


``` js
console.setTitle("中文","#ff11ee00",30);
console.setTitle("中文");
console.setTitle("中文","#ff11ee00");
console.setTitle("中文","#ff11ee00",30);
console.setTitle("中文");
console.setTitle("中文","#ff11ee00");

```

Expand Down Expand Up @@ -250,7 +250,7 @@ threads.start(function () {


``` js
console.setCanInput(false);
console.setCanInput(false);

```

Expand All @@ -262,7 +262,7 @@ threads.start(function () {
**需要在显示控制台之后才能设置,否则空指针**

``` js
console.setBackgroud("#33ef0000");
console.setBackgroud("#33ef0000");

```

Expand All @@ -273,8 +273,7 @@ threads.start(function () {
不限制,显示列表过长,android内存又不足,系统会回收console的引用,即console 将不显示。

``` js
console.setMaxLines(500);

console.setMaxLines(500);

```

Expand Down
10 changes: 5 additions & 5 deletions documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

<!-- type=misc -->

本文档为Auto.js的文档,解释了Auto.js各个模块的API的使用方法、作用和例子
文档使用 Markdown 编写,使用 [Docsify](https://github.com/docsifyjs/docsify/) 解析为网页,[源码](https://github.com/hyb1996/AutoJs-Docs) 在 github 上开源,目前由开发者维护

文档借助Node.js的文档构建工具生成,并在github上开源(https://github.com/hyb1996/AutoJs-Docs ),目前由开发者维护。
## API 稳定性

## API稳定性
由于 AutoX.js 处于活跃的更新和开发状态,API 可能随时有变动,我们用 `稳定性` 来标记模块、函数的稳定性。

由于Auto.js处于活跃的更新和开发状态,API可能随时有变动,我们用Stability来标记模块、函数的稳定性。这些标记包括:
这些标记包括:

```
稳定性: 弃用
Expand All @@ -33,7 +33,7 @@

## 如何阅读本文档

先看一个例子,下面是[基于控件的操作模拟](coordinates-based-automation.html)的章节中input函数的部分说明
先看一个例子,下面是 [基于控件的操作](/widgetsBasedAutomation) 的章节中 input 函数的部分说明

## input([i, ]text)
* `i` {number} 表示要输入的为第i + 1个输入框
Expand Down
64 changes: 44 additions & 20 deletions overview.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,45 @@
# 综述

由于[原作者](https://github.com/hyb1996/Auto.js) 不再维护 Auto.js 项目,我计划在原来基础上继续维护者项目,并将原项目命名为 AutoX.js。 你现在看的是 原 4.1 版基础上的项目,后面我将针对项目本身如何开发、运行的进行介绍,欢迎更多开发者参与这个项目维护升级,最新的[AutoX 地址](https://github.com/kkevsekk1/AutoX), 文档中很多原项目路径,在原项目没有删除的情况下我并不打算替换掉,以表对于原作者的尊重。这篇文档里有加密相关的内容可能和实际运行情况有冲突,我会逐步完善更新,程序代码,尽可能保持一致
由于原作者不再维护 [Auto.js](https://github.com/hyb1996/Auto.js),我计划在原来4.1版本的基础上继续维护项目,并将原项目命名为 [AutoX.js](https://github.com/kkevsekk1/AutoX)

Auto.js 使用[JavaScript](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript)作为脚本语言,目前使用[Rhino 1.7.14](https://developer.mozilla.org/zh-CN/docs/Mozilla/Projects/Rhino)作为脚本引擎,支持 ES5 与部分 ES6 特性
欢迎更多开发者参与这个项目的维护与升级

- 因为 Auto.js 是基于 JavaScript 的,学习 Auto.js 的 API 之前建议先学习 JavaScript 的基本语法和内置对象,可以使用教程前面的两个 JavaScript 教程链接来学习。
- 如果您想要使用 TypeScript 来开发,目前已经有开发者公布了一个可以把使用 TypeScript 进行 Auto.js 开发的工具,参见[Auto.js DevTools](https://github.com/pboymt/autojs-dev)
- 如果想要在电脑而不是手机上开发 Auto.js,可以使用 VS Code 以及相应的 Auto.js 插件使得在电脑上编辑的脚本能推送到手机运行,参见[Auto.js-VSCode-Extension](https://marketplace.visualstudio.com/items?itemName=aaroncheng.auto-js-vsce-fixed)
文档中很多原项目路径,在原项目没有删除的情况下我并不打算替换掉,以表对于原作者的尊重。这篇文档里有加密相关的内容可能和实际运行情况有冲突,我会逐步完善更新,程序代码,尽可能保持一致。

本文档的章节大致上是以模块来分的,总体上可以分成"自动操作"类模块(控件操作、触摸模拟、按键模拟等)和其他类模块(设备、应用、界面等)
AutoX.js 使用 JavaScript 作为脚本语言,目前使用 [Rhino 1.7.14](https://github.com/mozilla/rhino) 作为脚本引擎,支持 ES5 与部分 ES6 特性

"自动操作"的部分又可以大致分为基于控件和基于坐标的操作。基于坐标的操作是传统按键精灵、触摸精灵等脚本软件采用的方式,通过屏幕坐标来点击、长按指定位置模拟操作,从而到达目的。例如`click(100, 200)`, `press(100, 200, 500)`等。这种方式在游戏类脚本中比较有可行性,结合找图找色、坐标放缩功能也能达到较好的兼容性。但是,这种方式对一般软件脚本却难以达到想要的效果,而且这种方式需要安卓 7.0 版本以上或者 root 权限才能执行。所以对于一般软件脚本(例如批量添加联系人、自动提取短信验证码等等),我们采用基于控件的模拟操作方式,结合通知事情、按键事情等达成更好的工作流。这些部分的文档参见[基于控件的操作](widgets-based-automation.html)[基于坐标的操作](coordinates-based-automation.html)
- 学习 AutoX.js 的 API 之前,建议先学习 JavaScript 的基本语法。
- 如果想要在电脑上开发 AutoX.js,可以使用 VSCode 以及 [AutoX.js 插件](https://marketplace.visualstudio.com/items?itemName=aaroncheng.auto-js-vsce-fixed)
- 如果想要使用 TypeScript 来开发,目前有开发者公布了一个 [相关工具](https://github.com/pboymt/autojs-dev)

# AUTOX 的功能

- [x] autoxjs 项目工程化:结合 webpack vscode 插件,开发、编译、打包、部署、混淆、加密一体化 [文档资料](https://github.com/kkevsekk1/webpack-autojs)
- [x] vscode 插件右键,自动提示操作等[下载地址](https://marketplace.visualstudio.com/items?itemName=aaroncheng.auto-js-vsce-fixed)
- [x] vscode 自动补全、方法注释等, [文档资料](https://github.com/kkevsekk1/webpack-autojs)
- [x] 修复众多 bug,升级到 5.0.1 ,合并打包插件,升级配置文件等功能,运行 apk、[autox.js 下载地址](https://github.com/kkevsekk1/AutoX/releases)
- [x] 建设论坛、提供交流社区,[交流社区](http://www.autoxjs.com/)

# AutoX.js 下载地址

[Github Releases](https://github.com/kkevsekk1/AutoX/releases) 下载

# AutoX.js 的功能

- [x] AutoX.js 项目工程化:结合 webpack vscode 插件,开发、编译、打包、部署、混淆、加密一体化 [文档资料](https://github.com/kkevsekk1/webpack-autojs)
- [x] vscode 插件右键,自动提示操作等 [下载地址](https://marketplace.visualstudio.com/items?itemName=aaroncheng.auto-js-vsce-fixed)
- [x] vscode 自动补全、方法注释等 [文档资料](https://github.com/kkevsekk1/webpack-autojs)
- [x] 修复众多 bug,升级到 5.0.1 ,合并打包插件,升级配置文件等功能
- [x] 建设论坛、提供 [交流社区](http://www.autoxjs.com/)
- [ ] 建设应用商店
- [ ] 提供更好的 sdk 封装
- [x] websocket 支持
- [ ] 提供更好的 SDK 封装
- [x] 支持 WebSocket

# 模块

本文档的章节大致上是以模块来划分的,总体上可以分成"自动操作"类模块(控件操作、触摸模拟、按键模拟等)和其他类模块(设备、应用、界面等)。

"自动操作"的部分又可以大致分为 [基于控件](/widgetsBasedAutomation)[基于坐标](/coordinatesBasedAutomation) 的操作。

其他部分主要包括:
基于坐标的操作是通过指定具体的屏幕坐标,进行点击,例如 `click(100, 200)` 等,这种方式在游戏类脚本中比较有可行性,结合找图找色、坐标放缩功能也能达到较好的兼容性。但是,这种方式对于一般软件脚本不是很高效,而且需要安卓 7.0 以上或 root 权限才能执行。

软件类脚本(例如:批量添加联系人、自动提取短信验证码等等)我们推荐采用基于控件的模拟操作,结合通知、按键等达成更好的工作流。

其他模块主要包括:

- app: 应用。启动应用,卸载应用,使用应用查看、编辑文件、访问网页,发送应用间广播等。
- console: 控制台。记录运行的日志、错误、信息等。
Expand All @@ -40,9 +56,17 @@ Auto.js 使用[JavaScript](https://developer.mozilla.org/zh-CN/docs/Web/JavaScri
- threads: 多线程支持。
- ui: UI 界面。用于显示自定义的 UI 界面,和用户交互。

除此之外,Auto.js 内置了对[Promise](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise)
除此之外,AutoX.js 内置了对 [Promise](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise) 的支持。


# 参与共建

[软件源码](https://github.com/kkevsekk1/AutoX)

[文档源码](https://github.com/kkevsekk1/AutoXJs-Docs)

本文档更新稍有滞后,某些模块文档并没写完,希望有开发者共同参与维护!

# 最后
不用担心你不懂,我们可以讨论交流!

本文档更新 稍有滞后,某些模块文档并没写完,希望有开发者 共同参与维护!不用担心你不懂,我们可以讨论交流! 本文档的开源地址
(https://github.com/kkevsekk1/AutoXJs-Docs) ,强烈希望有人能 PR!
强烈希望有人能 PR !
14 changes: 9 additions & 5 deletions shell.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
shell即Unix Shell,在类Unix系统提供与操作系统交互的一系列命令
shell 即 Unix Shell,在类 Unix 系统提供与操作系统交互的一系列命令

很多程序可以用来执行shell命令,例如终端模拟器。
很多程序可以用来执行 shell 命令,例如终端模拟器。

在Auto.js大致等同于用adb执行命令"adb shell"。其实现包括两种方式:
在 Auto.js 大致等同于用 adb 执行命令 "adb shell"。

其实现包括两种方式:

* 通过`java.lang.Runtime.exec`执行(shell, Tap, Home等函数)
* 通过内嵌终端模拟器执行(RootAutomator, Shell等对象)
Expand All @@ -20,12 +22,14 @@ shell即Unix Shell,在类Unix系统提供与操作系统交互的一系列命
* result {string} 运行结果(stdout输出结果)
* error {string} 运行的错误信息(stderr输出结果)。例如执行需要root权限的命令但没有授予root权限会返回错误信息"Permission denied"。

示例(强制停止微信) :
```

示例(强制停止微信):
```js
var result = shell("am force-stop com.tencent.mm", true);
log(result);

console.show();

if(result.code == 0){
toast("执行成功");
}else{
Expand Down
6 changes: 4 additions & 2 deletions timers.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

> 稳定性: 稳定
timers 模块暴露了一个全局的 API,用于在某个未来时间段调用调度函数。 因为定时器函数是全局的,所以使用该 API 无需调用 timers.***
timers 模块暴露了一个全局的 API,用于在某个未来时间段调用调度函数。

Auto.js 中的计时器函数实现了与 Web 浏览器提供的定时器类似的 API,除了它使用了一个不同的内部实现,它是基于 Android Looper-Handler消息循环机制构建的。其实现机制与Node.js比较相似。
因为定时器函数是全局的,所以使用该 API 无需调用 timers.XXXXX

Auto.js 中的计时器函数实现了与 Web 浏览器提供的定时器类似的 API,除了它使用了一个不同的内部实现,它是基于 `Android Looper-Handler` 消息循环机制构建的。其实现机制与 Node.js 比较相似。

例如,要在5秒后发出消息"hello":
```js
Expand Down
7 changes: 4 additions & 3 deletions ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@

ui 模块提供了编写用户界面的支持。

带有 ui 的脚本的的最前面必须使用`"ui";`指定 ui 模式,否则脚本将不会以 ui 模式运行。正确示范:
带有 ui 的脚本的的最前面必须使用 `"ui";` 指定 ui 模式,否则脚本将不会以 ui 模式运行。

正确示范:

```
```js
"ui";

//脚本的其他代码
```

字符串"ui"的前面可以有注释、空行和空格**[v4.1.0 新增]**,但是不能有其他代码。
字符串"ui"的前面可以有注释、空行和空格 `[v4.1.0 新增]`,但是不能有其他代码。

界面是由视图(View)组成的。View 分成两种,控件(Widget)和布局(Layout)。控件(Widget)用来具体显示文字、图片、网页等,比如文本控件(text)用来显示文字,按钮控件(button)则可以显示一个按钮并提供点击效果,图片控件(img)则用来显示来自网络或者文件的图片,除此之外还有输入框控件(input)、进度条控件(progressbar)、单选复选框控件(checkbox)等;布局(Layout)则是装着一个或多个控件的"容器",用于控制在他里面的控件的位置,比如垂直布局(vertical)会把他里面的控件从上往下依次显示(即纵向排列),水平布局(horizontal)则会把他里面的控件从左往右依次显示(即横向排列),以及帧布局(frame),他会把他里面的控件直接在左上角显示,如果有多个控件,后面的控件会重叠在前面的控件上。

Expand Down

0 comments on commit daffd16

Please sign in to comment.