跳至主要內容

贡献指南参考

约 635 字

贡献指南参考

实现原理

利用Android无障碍服务,获取当前窗口对象,遍历窗口节点,当节点符合指定条件时,执行点击的动作。

核心逻辑

配置文件选项

配置文件位置:配置文件open in new window

packageName 必填

应用包名

在SKIP的应用白名单中,可以查看应用的包名。

skipTexts 选填

根据文本匹配,当节点的文本包含指定字符串时,执行点击动作。可以配置多组。

在手机屏幕上看到的文本是什么就可以填什么,但是实际节点text为null时,会失效。

- packageName: com.xxx.xxx
  skipTexts:
    - text: 跳过广告
      length: 4

skipIds 选填

根据id匹配,当节点的id等于指定字符串时,执行点击动作。可以配置多组。

id需要使用Android布局分析工具查询,但实际节点id为null时,不可用。

- packageName: com.xxx.xxx
  skipIds:
    - id: com.xxx.xxx:id/view_count_down

skipBounds 选填

根据bounds匹配,当所设定的bounds包含节点的bounds时,执行点击动作。可以配置多组。

一般可交互的节点都会具有bounds,需要使用Android布局分析工具查询。

Android布局分析工具

我使用的是:web-editoropen in new window,使用Android Studio自带的或其他工具也一样,只要可以探查屏幕节点的布局结构即可。

应用布局参考图

当你选中想要的目标节点时,会显示该节点的布局结构,参考如下:

应用布局参考图
应用布局参考图

配置skipTexts和skipIds

text呈现的值,可以对应到配置文件中的text

resourceId呈现的值,可以对应到配置文件中的id

配置skipBounds

skipBounds的值是需要计算得到的,可能长得像这样

- packageName: com.xxx.xxx
  skipBounds:
    - bound: 1223,196,1384,308
      resolution: 1440,3024

其中的1440,3024是你当前手机屏幕的最大宽高。

其中的1223,196,1384,308分别表示一个节点在屏幕中的: left,top,right,bottom

参考上图中rect的信息: left=x,top=y,right=x+width,bottom=y+height

Android屏幕节点布局
Android屏幕节点布局
上次编辑于: