Loading... # 李跳跳进阶指南 <div class="tip inlineBlock warning"> 李跳跳 2021-03-12 10:34 </div> <div class="tip inlineBlock info"> 注意:小白萌新不需要看这份进阶指南,使用默认设置已经可以跳过绝大部分广告了。 </div> <div class="tip inlineBlock success"> 反馈:公众号: 大小姐李跳跳。(推荐关注)? </div> ### 李跳跳是什么? 一款用来跳过`开屏广告`和`弹窗`的安卓应用。 ### 李跳跳的原理? 利用安卓系统的`无障碍`权限,帮助用户`自动点击`广告上的`跳过按钮`。 ### 自定义规则 ##### 1. 开屏广告规则:` {"keywords":["xxx"]}`、 `{"keywords_append":["xxx"]}` 李跳跳默认规则已经可以跳过绝大部分开屏广告了,但李跳跳也不是万能的。当我们遇到无法跳过的开屏广告时,可以使用这条规则:`{"keywords":["xxx"]}`。其中xxx可以是跳过按钮的文案,比如`{"keywords":["关闭广告"]}`;也可以是跳过按钮的`id`或`bounds`,比如:`{"keywords":["tv_close_button"]}`、`{"keywords":["900,160,1170,250"]}`。 <div class="tip inlineBlock info"> 知识点:什么是跳过按钮的id和bounds? </div> ###### 参数 keywords 和 keywords_append 的区别: | 参数 | 释义 | | --- | --- | | keywords | 会覆盖默认规则。 | | keywords_append | 在默认规则的基础上,追加规则。 | ##### 2. 弹窗规则:` {"popup_rules":[{"id":"xxx","action":"xxx"}]}` 我们也可以使用李跳跳来关闭应用内的`弹窗` ,比如下图所示的`抖音更新弹窗`,就可以用`{"popup_rules":[{"id":"检测到更新","action":"以后再"}]}`规则进行关闭。这条规则的意思是:`当检测到「检测到更新」这几个文字的时候,就自动点击「以后再」这个按钮。` 细心的你会怀疑上面的规则是不是写错了,为什么参数`action`的值不是`以后再说`而是`以后再`?其实我是故意为之,目的是为了引出以下知识点:`规则里面的文字默认情况下是模糊匹配的`。比如改成`以后`、`以后再说`、`再说`,甚至`后再`都是可行的。 规则里面的文字默认是`模糊匹配`的,自然也支持`首尾匹配`和`全匹配`,只需在文字前面加上特定的符号就行。参照下面的`举例张三`,比如`+检测到`的意思是匹配以`检测到`*开头*的文字;比如`-用户体验`的意思是匹配以`用户体验`*结尾*的文字;比如`=以后再说`的意思是匹配和`以后再说`完全*相等*的文字。其中符号`&`是用来连接任意个条件的,你可以把它理解为`且`。 <div class="tip inlineBlock info"> 举例张三:{"popup_rules":[{"id":"+检测到&-用户体验","action":"=以后再说"}]} </div> ![抖音升级弹窗](https://xug.cc/usr/uploads/2023/08/1101253841.webp) 有时候我们会遇到一些弹窗,它们的关闭按钮不是文字,而是一个`叉号`❎ ,比如下图所示的`美团弹窗`,此时我们又该如何写规则呢? **分两种情况**: 如果这个弹窗`可以`通过手机的`返回键`关闭,我们可以这样写规则`{"popup_rules":[{"id":"=天天神券","action":"GLOBAL_ACTION_BACK"}]}`。其中的`GLOBAL_ACTION_BACK`是固定不变的。 如果这个弹窗`不可以`通过手机的`返回键`关闭,我们需要知道叉号的`id`或`bounds`才行。假设这个弹窗的叉号的`id`是`tv_close_button`,我们可以这样写规则`{"popup_rules":[{"id":"=天天神券","action":"tv_close_button"}]}`。 但很多时候**叉号**(`弹窗的关闭按钮`) 不一定会有`id`,不过也没关系,因为它一定会有`bounds`。假设叉号的`bounds`是`500,900,620,1020`,我们可以这样写规则`{"popup_rules":[{"id":"=天天神券","action":"500,900,620,1020"}]}`。 <div class="tip inlineBlock info"> 知识点:如何获取关闭按钮的id或bounds? </div> ![美团弹窗](https://xug.cc/usr/uploads/2023/08/2877791657.webp) ##### 3. 设置强制点击: `{"click_way_popup":1}` <div class="tip inlineBlock info"> 详情参考:我的规则正确,但无法关闭弹窗怎么办? </div> ##### 4. 设置搜索次数: `{"search_times_popup":5}` <div class="tip inlineBlock info"> 详情参考:我的规则正确,但无法关闭弹窗怎么办? </div> ##### 5. 设置延迟点击:` {"delay":200}` 开屏广告延迟点击:`{"delay":200}` 弹窗延迟点击:`{"delay_popup":200}` <div class="tip inlineBlock info"> 温馨提示:单位毫秒,1秒等于1000毫秒。 </div> ##### 6. 设置点击次数:` {"popup_rules":[{"id":"xxx","action":"xxx",times:2}]}` 有些规则是不用点击的,此时我们可以把点击次数`times`设置为`0`;有时候我们会遇到两个不一样的弹窗,但它们可以用同一条规则来关闭,此时你可以选择输入两条一模一样的规则,或者输入一条规则但把它的点击次数`times`设为`2`; ##### 7. 联合规则: `{"unite_popup_rules":true}` 我们上面举的例子,`关闭抖音更新弹窗`和`关闭美团天天神券弹窗`,这两个任务都是`瞬间任务`,用一条规则表示就行。 但有些任务是`持续任务`,它们的耗时是不确定的,至少需要两条规则表示才行。比如`有一个按钮需要倒计时100秒后才能点击`,此时我们可以这样写规则: 把这个过程的`中间态`用一条规则表示:`{"id":"还剩&秒","action":"还剩&秒",times:0}` 把我们需要点击的按钮用一条规则表示:`{"id":"弹窗","action":"关闭按钮"}` 设置参数`unite_popup_rules`的值为`true`。 所以如果想`点击一个100秒后才能点击的按钮`,完整规则应该是:`{"popup_rules":[{"id":"还剩&秒","action":"还剩&秒",times:0},{"id":"弹窗","action":"关闭按钮"}],"unite_popup_rules":true}` <div class="tip inlineBlock info"> 温馨提示:利用联合规则我们可以完成很多?耗时不确定的任务?,比如应用自动安装、微信自动查看多张原图等。 </div> <div class="tip inlineBlock info"> 课后作业: 参考公众号分享的[MIUI一键安装规则](https://xug.cc/index.php/archives/482/),实现应用自动安装。 </div> ##### 8. 根据CheckBox的状态点击控件 `CheckBox`控件有两种状态,一种是`选中状态`,另一种是`未选中状态`。假设某个`CheckBox`控件的`bounds`是`100,200,300,400`,如果我们要点击它的其中一种状态,可以在`bounds`的后面追加数字`0`或`1`来表示,比如: 已选中状态:`100,200,300,400,1` 未选中状态:`100,200,300,400,0` <div class="tip inlineBlock info"> 课后作业:根据本节知识,实现QQ自动勾选原图。 </div> #### 什么是控件的id和bounds? 我们把`APP`界面上的元素,比如按钮、图标、输入框这些统称为控件。比如`取消按钮`它就是一个文本控件,它的文字就是`取消`。我们写规则时可以根据`取消`这两个字来定位这个按钮。但有些按钮它是没有文字的,比如上面美团弹窗的`叉号按钮`。此时我们需要用到控件的`id`或`bounds`来定位这些没有文字的按钮。 但什么是控件的`id`和`bounds`呢?控件的`id`就是控件的`身份证`(`普通用户可以简单这样理解`);控件的`bounds`就是控件的`大小和位置`信息。 <div class="tip inlineBlock info"> 温馨提示:一个控件是有可能没有id的,但一定会有bounds。 </div> #### 如何获取控件的id或bounds? 我们可以通过特定的工具来获取到控件的相关信息,我为大家找到了一个叫`autojs`的开源APP,<a href="https://xug.cc/index.php/go/autojs/" target="_blank">点击这里下载,密码:1233</a> <div class="tip inlineBlock info"> autojs教程:[利用 autojs 获取控件信息](https://xug.cc/index.php/archives/483/)。 </div> ### 常见问题 ###### 1. 我的规则正确,但无法关闭对应弹窗怎么办? 首先,判断你的任务是`瞬间任务`还是`持续任务`?`如果是瞬间任务`, 在确保你的规则是正确的前提下,可以试试以下两个方案: 如果有跳过提示,设置强制点击就行:`{"popup_rules":[], "click_way_popup":1}` 如果没跳过提示,延长搜索次数就行:`{"popup_rules":[], "search_times_popup":5}` <div class="tip inlineBlock info"> 温馨提示:搜索次数 search_times_popup 越小越省电,最好是个位数。 </div> `如果是持续任务`, 可以参考上面的**联合规则章节**。 ###### 2. 出现误点怎么办? 首先,先删除自己的自定义规则,看看是否是自己的规则造成误点。 其次,在少数情况下,李跳跳的默认规则也会出现`误点` (`错误地点击了其它地方`),最简单的解决方案就是在李跳跳里面找到`目标APP`,把它加入`白名单`。 其次,你也可以用参数`keywords`来覆盖默认的规则,也就是说你自己告诉李跳跳应该点击哪里,比如:`{"keywords":["500,900,620,1020"]}。` ###### 3. 不知道某个弹窗属于哪个APP怎么办? 通过`autojs`软件获取这个弹窗任意控件的`控件信息`,复制控件信息里面的`包名` (**packageName**) 信息,通过`包名`在李跳跳里面搜索对应`APP`就行。 ### 最新规则 [最新导入规则](https://xug.cc/usr/uploads/2024/01/2606242521.txt) Last modification:March 18, 2024 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 1 如果觉得我的文章对你有用,请随意赞赏
3 comments
我用夸克网盘分享了「litiaotiao.apk」,点击链接即可保存。链接:https://pan.quark.cn/s/2fa660f641b7
提取码:bbkg
{"popup_rules":[{"id":"=close_image","action":"1043,660,1133,750"}]}
{"popup_rules":[{"id":"=天天神券","action":"tv_close_button"}]}