GKD - 基于 无障碍 + 高级选择器 + 订阅规则 的自定义屏幕点击 APP

2023-09-02 21:41:02 +08:00
 lisongeee

gkd

基于 无障碍 + 高级选择器 + 订阅规则 的自定义屏幕点击 APP

https://github.com/gkd-kit/gkd 撅得好用的给个 star 吧

安装

功能

根据 高级选择器 + 订阅规则, 它可以实现

效果

关闭微信朋友圈广告 关闭酷安字节 SDK 广告 关闭贴吧开屏广告及内部广告
12475 次点击
所在节点    分享创造
82 条回复
justforvx
2023-09-02 22:00:26 +08:00
这个是实现李跳跳功能的开源软件?简单说一下优点吧
lisongeee
2023-09-02 22:21:18 +08:00
@bnoblech

这个和李跳跳不一样,李跳跳是本地规则,GKD 是 订阅规则

最不一样的是 GKD 提供了一个强大的选择器引擎以及对应的快照审查工具能实时连接应用内置的 HTTP Server

https://github.com/gkd-kit/selector

https://github.com/gkd-kit/subscription

https://github.com/gkd-kit/inspect

GKD 的选择器规则能把界面上的无障碍节点串连起来,大大提高了泛用性

网页审查工具能实时测试选择器选中的目标节点,大大提高规则开发效率
lisongeee
2023-09-02 22:31:45 +08:00
比如某些可关闭广告的按钮没有 id/text/desc 或者不唯一并且位置也不固定,这时 李跳跳 是无法关闭的

但是 GKD 的选择器能把这个节点周围的节点也作为判断逻辑,类似 CSS 的 A > B

如果了解过 CSS ,那么对这个选择器会有一点熟悉,比如截图示例里的关闭微信广告的规则是

```txt
{
key: 0,
name: '关闭朋友圈广告',
desc: '朋友圈信息流广告,点击关闭按钮,确认关闭',
activityIds: 'com.tencent.mm.plugin.sns.ui.SnsTimeLineUI',
exampleUrls: [
`https://github.com/gkd-kit/subscription/assets/38517192/c9ae4bba-a748-4755-b5e4-c7ad3d489a79`,
],
rules: [
'TextView[text*=`广告`] + TextView[text=`关闭该广告`]',
'ImageView - TextView[text=`广告`][id!=null][index=0]',
],
},
```
lisongeee
2023-09-02 22:34:38 +08:00
比如百度贴吧评论区中间的广告的规则是,我确信 李跳跳 是做不到这种规则的

```txt
{
key: 4,
name: '帖子评论区内部广告卡片',
activityIds: 'com.baidu.tieba.frs.FrsActivity',
rules:
'ImageView < @FrameLayout < LinearLayout < RelativeLayout <n LinearLayout < RelativeLayout + LinearLayout[id=`com.baidu.tieba:id/obfuscated`] TextView[text=`广告`]',
},
```
bzcrl
2023-09-02 22:49:41 +08:00
哇 强力支持!
llbbzh
2023-09-02 22:51:25 +08:00
有意思,感觉可以用用
tangkeke20
2023-09-02 22:53:03 +08:00
李跳跳:杀了我一个,还有后来人!!!
CXPLAY
2023-09-02 22:55:50 +08:00
强, 支持一下.
shenzt1968
2023-09-02 23:00:27 +08:00
安卓 tv 能用吗?
iwlei
2023-09-02 23:05:05 +08:00
支持自定义吗?我还用李跳跳帮我点地铁二维码
floatkayau
2023-09-02 23:08:42 +08:00
开发者能抗住腾讯的铁拳吗?
lisongeee
2023-09-02 23:08:56 +08:00
这个 APP 是我两年前开始磨磨蹭蹭边玩遍写的,核心部分是 那个 GKD 节点高级选择器,是用 kotlin multiplatform 写的

kotlin 可以编译到 js ,这使得网页审查工具也能执行选择器,这个对规则书写效率提高是很大的

界面 UI 使用体验可能不太好,因为我的审美比较辣鸡,请见谅,但是规则执行部分是没问题
2218675712
2023-09-02 23:11:29 +08:00
能通过 shizuku 激活吗,某些手机上无障碍服务不稳定,经常自动关闭
lisongeee
2023-09-02 23:11:44 +08:00
@iwlei

什么自定义规则都能行,只要有快照,这个选择器引擎能玩出花来,地铁二维码 这种寸寸小 case

这个规则还能实现自动接受微信转账,自动微信抢红包,但是我以前不小心把写的规则删除了,我后续补一下
Jirajine
2023-09-02 23:13:00 +08:00
特权应用最好不要直接联网
lisongeee
2023-09-02 23:14:05 +08:00
@2218675712

shizuku 目前只支持 获取 activityId ,通过 shizuku 获取 无障碍服务是可以实现的,但是我手机的 shizuku 老是自动关闭

因此就没怎么实现,后续会支持的,但是我的无障碍很稳啊,从来没有关闭过
lisongeee
2023-09-02 23:14:44 +08:00
@Jirajine

不联网怎么更新订阅获取新规则组啊,而且这个是开源的,你完全可以自己构建
2218675712
2023-09-02 23:15:12 +08:00
@lisongeee 感谢,已 star
xiaolushuo123
2023-09-02 23:15:32 +08:00
支持下,tv 上可以使用吗
lisongeee
2023-09-02 23:17:08 +08:00
@xiaolushuo123

> 支持下,tv 上可以使用吗

抱歉我没有 tv ,但是如果 tv 上如果能开启无障碍服务,我猜测可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/970406

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX