李跳跳进阶指南
李跳跳是什么?
一款用来跳过开屏广告
和弹窗
的安卓应用。
李跳跳的原理?
利用安卓系统的无障碍
权限,帮助用户自动点击
广告上的跳过按钮
。
自定义规则
1. 开屏广告规则
♾️ shell 代码:{"keywords":["xxx"]}
李跳跳的默认规则已经可以跳过绝大部分的开屏广告了,但李跳跳也不是万能的。当我们遇到无法跳过的开屏广告时,可以使用这条规则来跳过开屏广告:{"keywords":["xxx"]}
。其中xxx
可以是跳过按钮
的文案,比如{"keywords":["关闭广告"]}
;也可以是跳过按钮的id
或bounds
,比如:{"keywords":["tv_close_button"]}
、{"keywords":["900,160,1170,250"]}
。
温馨提示:默认规则已包含 {"keywords":["跳过"]}
2. 弹窗规则:
♾️ shell 代码:{"popup_rules":[{"id":"xxx","action":"xxx"}]}
我们也可以使用李跳跳来关闭应用内的弹窗
,比如下图所示的抖音更新弹窗,就可以用{"popup_rules":[{"id":"检测到更新","action":"以后再"}]}
规则进行关闭。这条规则的意思是:当检测到「检测到更新」这几个文字的时候,就自动点击「以后再」这个按钮。
细心的你会怀疑上面的规则是不是写错了,为什么参数action
的值不是以后再说
而是以后再
?其实我是故意为之,目的是为了引出以下知识点:规则里面的文字默认情况下是模糊匹配的
。比如改成以后
、以后再说
、再说
,甚至后再
都是可行的。
规则里面的文字默认是模糊匹配
的,自然也支持首尾匹配
和全匹配
,只需在文字前面加上特定的符号就行。参照下面的举例A,比如+检测到
的意思是匹配以检测到
开头的文字;比如-用户体验
的意思是匹配以用户体验
结尾的文字;比如=以后再说
的意思是匹配和以后再说
完全相等的文字。其中符号&
是用来连接任意个条件的,你可以把它理解为且
。
举例A:{"popup_rules":[{"id":"+检测到&-用户体验","action":"=以后再说"}]}
有时候我们会遇到一些弹窗,它们的关闭按钮不是文字,而是一个叉号
❎ ,比如下图所示的美团弹窗,此时我们又该如何写规则呢?
分两种情况:如果这个弹窗可以
通过手机的返回键
关闭,我们可以这样写规则{"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"}]}
。
3. 设置点击次数:
♾️ shell 代码:{"popup_rules":[{"id":"","action":"",times:2}]}
有时候我们设置的规则是正确的(弹窗出现的时候会弹出跳过提示
),但无法自动关闭对应的弹窗。那是因为有些弹窗需要点击多次
才行,此时我们可以把点击次数times
设置为2
试试。
温馨提示:点击次数times(准确来说是最大点击次数)默认为1。
4. 联合规则:
♾️ shell 代码:{"unite_popup_rules":true}
todo:待完成
5. 页面白名单:
♾️ shell 代码:{"page_whitelist":["xxx"]}
少数情况下李跳跳会发生误点(错误地点击了其它地方
),最简单的解决方案就是把发生误点的APP
加入白名单。但如果你不想这样做,也可以用页面白名单
这条规则把发生误点的页面
加入白名单。其中xxx
可以是页面的任意文字,也可以是页面任意节点的id
或bounds
。
举例:{"page_whitelist":["=跳过休息时间"]}
什么是控件的id
和bounds
?
我们把APP
界面上的元素,比如按钮、图标、输入框这些统称为控件。比如取消按钮
它就是一个文本控件,它的文字就是取消
。我们写规则时可以根据取消
这两个字来定位这个按钮。但有些按钮它是没有文字的,比如上面美团弹窗的叉号按钮
。此时我们需要用到控件的id
或bounds
来定位这些没有文字的按钮。
但什么是控件的id
和bounds
呢?控件的id
就是控件的身份证
(普通用户可以简单这样理解
);控件的bounds
就是控件的大小和位置
信息。
温馨提示:一个控件是有可能没有id的,但一定会有bounds。
如何获取控件的id
或bounds
?
我们可以通过特定的工具来获取到控件的相关信息,我为大家找到了一个叫autojs
的开源APP,可以到这里下载,密码:1233。
autojs教程:利用 autojs 获取控件信息。
- 延迟点击ms:{"delay":200}
- 添加关键字:{"keywords":["关闭"]}
- 弹窗规则:{"popup_rules":[{"id":"","action":""}]}
- 多条弹窗规则:{"popup_rules":[{"id":"","action":""},{"id":"","action":""}]}
- 可通过返回键去除的弹窗:{"popup_rules":[{"id":"发现新版本啦","action":"GLOBAL_ACTION_BACK"}]}
- {"j":[{"k":"关键字(或控件ID)&关键字","n":"x:123y:456"}]}
自用规则
vivo手机自动安装
♾️ shell 代码:{"popup_rules":[{"id":"正为您","action":"正为您","times":0},{"id":"继续安装","action":"继续安装","times":2},{"id":"正在安装","action":"正在安装","times":0},{"id":"打开","action":"完成"}]}
vivo安全中心
♾️ shell 代码:{"popup_rules":[{"id":"关闭调试","action":"忽略风险"},{"id":"卸载应用","action":"忽略风险"},{"id":"查看详情","action":"忽略风险"},{"id":"取消","action":"取消"},{"id":"忽略风险","action":"忽略风险"},{"id":"立即卸载","action":"继续使用"}]}
京东金融
♾️ shell 代码:{"popup_rules":[{"id":"跳过","action":"跳过"},{"id":"取消更新","action":"取消更新"}]}
搜图神器
♾️ shell 代码:{"popup_rules":[{"id":"知道了","action":"GLOBAL_ACTION_BACK"}]}
蓝凑云
♾️ shell 代码:{"popup_rules":[{"id":"确认登录","action":"确认登录"}]}
三星安装
♾️ shell 代码:{"popup_rules":[{"id":"从三星应用商店安装","action":"安装"},{"id":"取消","action":"安装"},{"delay":200}]}
重庆移动
♾️ shell 代码:{"popup_rules":[{"id":"+您当前话费余额","action":"984,1986,1044,2046"}]}
涩涩屋
♾️ shell 代码:{"popup_rules":[{"id":"hot_ad_close_btn","action":"hot_ad_close_btn"},{"id":"timer_count_down","action":"timer_count_down"}]}
#慢慢撸
{"delay":3201,"popup_rules":[{"id":"close","action":"close"}]}
i主题
♾️ shell 代码:{"popup_rules":[{"id":"card_close_img","action":"card_close_img"}]}
游戏中心
♾️ shell 代码:{"popup_rules":[{"id":"skip","action":"skip"}]}
好游快爆
♾️ shell 代码:{"popup_rules":[{"id":"dialog_home_notice_image_close","action":"dialog_home_notice_image_close"}]}
嘀嗒
♾️ shell 代码:{"popup_rules":[{"id":"tv_full_skip","action":"tv_full_skip"},{"id":"image_close","action":"image_close"},{"id":"3跳过","action":"3跳过"},{"id":"3 跳过","action":"3 跳过"},{"id":"下载并更新","action":"下次提醒"}]}
虫虫
♾️ shell 代码:{"popup_rules":[{"id":"dlg_main_ad_close","action":"dlg_main_ad_close"},{"id":"跳过5","action":"跳过5"}]}
番茄社区
♾️ shell 代码:{"popup_rules":[{"id":"tv_agree","action":"tv_agree"}]}
阿里云盘
♾️ shell 代码:{"popup_rules":[{"id":"登录","action":"228,1641,852,1791"}]}
中国移动云盘
♾️ shell 代码:{"popup_rules":[{"id":"rl_container","action":"492,1732,588,1828"},{"id":"comfirm_login","action":"96,1484,984,1604"}]}