Skip to content

Commit b097ce8

Browse files
committed
feat(simple): 更新 build.gradle依赖版本并添加 web 支持
- 将 assists 基础库版本从 3.2.15 升级到3.2.16 - 添加 assists-web 依赖支持 web 自动化脚本 - 更新 README.md 文档,增加 web 自动化脚本开发支持说明 - 新增 assists-web-simple 示例项目,展示 web 方式自动化脚本开发
1 parent d0d896b commit b097ce8

File tree

3 files changed

+71
-22
lines changed

3 files changed

+71
-22
lines changed

README.md

Lines changed: 62 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
**利用Android无障碍服务(AccessibilityService)能做什么**
22

33
可以开发各种各样的自动化脚本程序以及协助脚本,比如:
4+
45
1. 微信自动抢红包
56
2. 微信自动接听电话
67
3. 支付宝蚂蚁森林自动浇水
@@ -9,38 +10,47 @@
910
6. 远程控制
1011

1112
# Assists作用
13+
1214
基于Android无障碍服务(AccessibilityService)封装的框架
15+
1316
1. 简化自动化脚本开发
1417
2. 为自动化脚本提供各种增强能力
1518
3. 提高脚本易维护性
19+
4. 支持html+js/vue开发自动化脚本
1620

1721
# 主要能力
22+
1823
1. 易于使用的无障碍服务API
1924
2. 浮窗管理器:易于实现及管理浮窗
2025
3. 步骤器:为快速实现、可复用、易维护的自动化步骤提供框架及管理
2126
4. 配套屏幕管理:快速生成输出屏幕截图、元素截图
2227
5. 屏幕管理结合opencv:便于屏幕内容识别为自动化提供服务
28+
6. 封装webview接口支持html+js/vue开发自动化脚本
2329

2430
# 一些示例
2531

26-
| 基础示例 | 进阶示例 | 高级示例 | 图片截取 |
27-
| - | - |-|-|
28-
| <img src="https://github.com/user-attachments/assets/b537bab4-cc55-41c2-8f81-9e8b965e939a" width=180/> | <img src="https://github.com/user-attachments/assets/9b50628c-603e-47d1-a6ae-5600358575fc" width=180/> |<img src="https://github.com/user-attachments/assets/262b9028-5926-478b-93bd-3e20110db391" width=180/>| <img src="https://github.com/user-attachments/assets/522236e4-5880-4f00-9f4c-76728df3cfe6" width=180/> |
32+
| 基础示例 | 进阶示例 | 高级示例 | 图片截取 |
33+
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
34+
| <img src="https://github.com/user-attachments/assets/b537bab4-cc55-41c2-8f81-9e8b965e939a" width=180/> | <img src="https://github.com/user-attachments/assets/9b50628c-603e-47d1-a6ae-5600358575fc" width=180/> | <img src="https://github.com/user-attachments/assets/262b9028-5926-478b-93bd-3e20110db391" width=180/> | <img src="https://github.com/user-attachments/assets/522236e4-5880-4f00-9f4c-76728df3cfe6" width=180/> |
2935

30-
| 自动收能量 |自动发朋友圈|自动滑动朋友圈| 无障碍服务开启引导 |
31-
|:-:|:-:|:-:|:-:|
32-
| <img src="https://github.com/ven-coder/Assists/assets/27257149/8d1d09b2-e4b3-44dc-b5df-68fcdcac7a62" width=180 /> |<img src="https://github.com/ven-coder/Assists/assets/27257149/4713656b-a8ff-4c99-9814-a0b883ebbe64" width=180 />|<img src="https://github.com/ven-coder/Assists/assets/27257149/056ef46b-8076-4f90-ab5a-263ff308f8e8" width=180 />| <img src="https://github.com/user-attachments/assets/9e20a757-8d8f-47e6-999b-8532b4e6827a" width=180 /> |
33-
防止下拉通知栏|通知/Toast监听|自动接听微信电话|窗口缩放&拖动|
34-
|<img src="https://github.com/user-attachments/assets/76613db4-c0a9-4ad8-abde-ec0ef8f7ed09" width=180 />|<img src="https://github.com/user-attachments/assets/cc6a861a-3512-43c0-9c1d-4e61229dc527" width=180 />|<img src="https://github.com/user-attachments/assets/25472235-8d6d-4327-9bc5-db47253b7f0e" width=180 />|<img src="https://github.com/user-attachments/assets/184fb248-66e0-4bb4-aaae-c1b8c4cef70a" width=180 />|
36+
| 自动收能量 | 自动发朋友圈 | 自动滑动朋友圈 | 无障碍服务开启引导 |
37+
| :---------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: |
38+
| <img src="https://github.com/ven-coder/Assists/assets/27257149/8d1d09b2-e4b3-44dc-b5df-68fcdcac7a62" width=180 /> | <img src="https://github.com/ven-coder/Assists/assets/27257149/4713656b-a8ff-4c99-9814-a0b883ebbe64" width=180 /> | <img src="https://github.com/ven-coder/Assists/assets/27257149/056ef46b-8076-4f90-ab5a-263ff308f8e8" width=180 /> | <img src="https://github.com/user-attachments/assets/9e20a757-8d8f-47e6-999b-8532b4e6827a" width=180 /> |
39+
| 防止下拉通知栏 | 通知/Toast监听 | 自动接听微信电话 | 窗口缩放&拖动 |
40+
| <img src="https://github.com/user-attachments/assets/76613db4-c0a9-4ad8-abde-ec0ef8f7ed09" width=180 /> | <img src="https://github.com/user-attachments/assets/cc6a861a-3512-43c0-9c1d-4e61229dc527" width=180 /> | <img src="https://github.com/user-attachments/assets/25472235-8d6d-4327-9bc5-db47253b7f0e" width=180 /> | <img src="https://github.com/user-attachments/assets/184fb248-66e0-4bb4-aaae-c1b8c4cef70a" width=180 /> |
3541

3642
##### 更多示例可以直接下载demo查看
43+
3744
<img src="https://github.com/ven-coder/Assists/assets/27257149/c4ce8c21-ac8b-4d3f-bfe4-257a525fb3c5" width=200/>
3845

3946
[&#128229;直接下载](https://www.pgyer.com/1zaijG)
4047

4148
# 🚀 快速开始
49+
4250
### 1. 导入依赖
51+
4352
#### 1.1 项目根目录build.gradle添加
53+
4454
```
4555
allprojects {
4656
repositories {
@@ -50,9 +60,10 @@ allprojects {
5060
}
5161
```
5262

53-
5463
#### 1.2 主模块build.gradle添加
64+
5565
最新版本:[![](https://jitpack.io/v/ven-coder/Assists.svg)](https://jitpack.io/#ven-coder/Assists)
66+
5667
```
5768
dependencies {
5869
//按需添加
@@ -62,13 +73,18 @@ dependencies {
6273
implementation "com.github.ven-coder.Assists:assists-mp:最新版本"
6374
//opencv相关(可选)
6475
implementation "com.github.ven-coder.Assists:assists-opcv:最新版本"
65-
76+
//html+js/vue自动化脚本支持(可选,⚠️当前还处于可用但非稳定版本)
77+
implementation "com.github.ven-coder.Assists:assists-web:最新版本"
78+
6679
}
6780
```
6881

6982
### 2. 注册&开启服务
83+
7084
#### 1.1 主模块AndroidManifest.xml中注册服务
85+
7186
一定要在主模块中注册服务,不然进程被杀服务也会自动被关闭需要再次开启(小米可保持杀进程保持开启,其他vivo、oppo、鸿蒙机型似乎不行)
87+
7288
```xml
7389
<?xml version="1.0" encoding="utf-8"?>
7490
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
@@ -99,7 +115,7 @@ dependencies {
99115
android:name="android.accessibilityservice"
100116
android:resource="@xml/assists_service" />
101117
</service>
102-
118+
103119
<!-- 或者使用下面的服务可以解决一些应用混淆节点的问题,比如微信8.0.51以上版本获取的节点元素错乱问题 -->
104120
<!-- ⚠️ 选其一 -->
105121
<service
@@ -115,28 +131,35 @@ dependencies {
115131
android:name="android.accessibilityservice"
116132
android:resource="@xml/assists_service" />
117133
</service>
118-
134+
119135
<!-- 添加代码 ↑-->
120136
</application>
121137

122138
</manifest>
123139
```
140+
124141
#### 1.2 开启服务
125-
调用```AssistsCore.openAccessibilitySetting()```跳转到无障碍服务设置页面,找到对应的应用开启服务。
142+
143+
调用 ``AssistsCore.openAccessibilitySetting()``跳转到无障碍服务设置页面,找到对应的应用开启服务。
126144
服务开启后执行以下API测试是否成功集成:
145+
127146
```
128147
AssistsCore.getAllNodes().forEach { it.logNode() }
129148
```
149+
130150
这段代码是获取当前页面所有节点元素的基本信息在Logcat(tag:assists_log)打印出来,如下图:
131151

132152
<img src="https://github.com/user-attachments/assets/81725dc3-d924-44f4-89fe-75938ae659e9" width=350/>
133153

134154
至此,已成功集成Assists。如果没有任何输出请检查集成步骤是否正确。
135155

136156
# 步骤器-快速实现复杂自动化脚本
157+
137158
步骤器可以帮助快速实现复杂的业务场景,比如自动发朋友圈、获取微信所有好友昵称、自动删除好友...等等都是一些逻辑较多的业务场景,步骤器可帮助快速实现。
138-
### 1.继承```StepImpl```
139-
直接在接口`onImpl(collector: StepCollector)`写步骤逻辑,每个步骤自定义步骤的序号,用于区分执行的步骤。如果重复则会以最后一个步骤为准
159+
160+
### 1.继承 ``StepImpl``
161+
162+
直接在接口 `onImpl(collector: StepCollector)`写步骤逻辑,每个步骤自定义步骤的序号,用于区分执行的步骤。如果重复则会以最后一个步骤为准
140163

141164
```kotlin
142165
class MyStepImpl:StepImpl() {
@@ -166,6 +189,7 @@ class MyStepImpl:StepImpl() {
166189
```
167190

168191
### 2. 开始执行
192+
169193
执行前请确保无障碍服务已开启
170194

171195
```kotlin
@@ -174,20 +198,35 @@ StepManager.execute(MyStepImpl::class.java, 1, isBegin = true)
174198
```
175199

176200
### 3. 停止执行
201+
177202
```kotlin
178203
// 设置停止标志,将取消所有正在执行的步骤
179204
StepManager.isStop = true
180205
```
181206

207+
# Html+js/vue/vite开发自动化脚本
208+
209+
> ⚠️当前处于可用但非稳定版本
210+
211+
本仓库源码中包含了一个通过vite编写的一个自动化脚本示例:`assists-web-simple`,可自行下载编译。项目中已经有编译好的vite示例在 `simple/src/main/assets/assists-web-simple`目录下,在当前示例App中可直接加载查看这个vite编写的自动化脚本。
212+
213+
`assists-web`是基础的web支持库,封装了webview js接口对web端调用的支持,但是对于web端本地开发调试不友好,需要了解android端相关知识
214+
215+
## AssistsX脚本平台
216+
为了支持本地开发调试和动态化加载脚本,特地开发了脚本平台App:[AssistsX](),可支持脚本的本地安装,在线安装,局域网加载,远程加载
217+
218+
### [开发文档传送门]()
219+
182220
## 其他教程博客
221+
183222
### 获取节点信息
184-
- [使用weditor获取节点信息](https://juejin.cn/post/7484188555735613492)
185223

224+
- [使用weditor获取节点信息](https://juejin.cn/post/7484188555735613492)
186225
- [使用Appium获取节点信息](https://juejin.cn/post/7483409317564907530)
187-
188226
- [使用uiautomatorviewer获取节点信息](https://blog.csdn.net/weixin_37496178/article/details/138328871?fromshare=blogdetail&sharetype=blogdetail&sharerId=138328871&sharerefer=PC&sharesource=weixin_37496178&sharefrom=from_link)
189227

190228
### 示例教程
229+
191230
- [Appium结合AccessibilityService实现自动化微信登录](https://juejin.cn/post/7483409317564907530)
192231

193232
### [版本历史](https://github.com/ven-coder/Assists/releases)
@@ -199,21 +238,25 @@ StepManager.isStop = true
199238
| <img src="https://github.com/user-attachments/assets/f25c206d-25e0-4a65-aba2-3698a9d1bf02" width=200/> | <img src="https://github.com/user-attachments/assets/49378ec3-71a2-4a5e-8510-bec4ec8d915e" width=200/>
200239
1群已满200人,要进1群可加我拉进1群
201240

202-
### ❤️ 已入驻爱发电,感谢[支持](https://afdian.com/a/vencoder)
241+
### ❤️ 已入驻爱发电,感谢[支持](https://afdian.com/a/vencoder)
203242

204243
## 我的付费社群
244+
205245
付费社群提供的服务:
246+
206247
1. 完整易于阅读的开发文档
207248
2. Assists开发指导
208249
3. 开发疑难解答
209250
4. 群友互助资源对接
210251
5. 基于Assists开发的抖音养号,小红书养号,支付宝能量收集,支付宝农场,无线远程控制等源码(补充中...)
211-
<img width="500" alt="image" src="https://github.com/user-attachments/assets/7607a4e6-4845-474e-a9c6-e685cc306523" />
252+
<img width="500" alt="image" src="https://github.com/user-attachments/assets/7607a4e6-4845-474e-a9c6-e685cc306523" />
212253

213254
##### 微信扫扫即可加入
255+
214256
<img src="https://github.com/ven-coder/Assists/assets/27257149/7ae8e825-f489-46e3-96f0-ed03d12db9e8" width=200/>
215257

216258
##### 定制开发可直接联系个人微信:x39598
217259

218260
# License
261+
219262
[GNU General Public License v3.0](https://github.com/ven-coder/Assists/blob/master/LICENSE)

assists-web-simple/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Web & Assists自动化开发文档
2+
Assists可支持通过web编写自动化脚本,支持html+js或者直接编写vue/vite项目来实现自动化脚本,原理就是通过封装webview js接口与web进行交互。
3+
4+
# 示例
5+
本项目就是通过vite开发的一个自动化示例项目,可直接下载编译运行,然后下载[AssistsX]()通过局域网加载即可

simple/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,10 @@ dependencies {
5555
implementation project(':assists-mp')
5656
implementation project(':assists-opcv')
5757
implementation project(':assists-web')
58-
// implementation "com.github.ven-coder.Assists:assists-base:v3.2.15"
59-
// implementation "com.github.ven-coder.Assists:assists-opcv:v3.2.15"
60-
// implementation "com.github.ven-coder.Assists:assists-mp:v3.2.15"
58+
// implementation "com.github.ven-coder.Assists:assists-base:v3.2.16"
59+
// implementation "com.github.ven-coder.Assists:assists-opcv:v3.2.16"
60+
// implementation "com.github.ven-coder.Assists:assists-mp:v3.2.16"
61+
// implementation "com.github.ven-coder.Assists:assists-web:v3.2.16"
6162
implementation "androidx.room:room-runtime:${rootProject.ext.roomVersion}"
6263
implementation "androidx.room:room-ktx:${rootProject.ext.roomVersion}"
6364
implementation "com.github.mrmike:ok2curl:${rootProject.ext.ok2curlVersion}"

0 commit comments

Comments
 (0)