Thanox 移花接木跳转替换规则配置
配置步骤
假设你已经通过"显示当前 Activity"找到了:
- 源 Activity(要被替换掉的那个,比如广告页):
com.example.app/.SplashAdActivity - 目标 Activity(替换后跳转到的那个,比如主界面):
com.example.app/.MainActivity
现在在 Thanox 中配置替换规则:
- 打开 Thanox → 移花接木
- 点击 "+" 添加新规则
- 在源 Activity字段粘贴你的源 Activity 标识(从浮窗复制的那个)
- 在目标 Activity字段粘贴你的目标 Activity 标识
- 保存规则
配置完成!以后每当系统尝试启动 com.example.app/.SplashAdActivity 时,Thanox Framework 层会自动把目标替换成 com.example.app/.MainActivity。
跳过开屏广告实战示例
以某个有开屏广告的天气 app 为例:
找到两个 Activity
- 打开 app,广告页出来 → Thanox 浮窗显示:
com.nowcasting.activity/.SplashActivity(彩云天气的广告页) - 等主界面出来 → 浮窗显示:
com.nowcasting.activity/.MainActivity
添加规则
源 Activity: com.nowcasting.activity/.SplashActivity
目标 Activity: com.nowcasting.activity/.MainActivity
效果
下次打开彩云天气:广告页直接消失,瞬间进入主界面。
规则的优先级和执行
Thanox Framework 层在 hook startActivity 时,会按以下顺序检查移花接木规则:
- 提取本次启动的源 Activity 组件名称
- 遍历移花接木规则列表,检查源 Activity 是否匹配
- 如果匹配 → 用规则中的目标 Activity 替换启动目标
- 如果不匹配 → 保持原样启动
每个 Activity 只能匹配一条规则(一个源只能换一个目标),但可以有多条规则。
注意事项
不要把 Activity 替换成不同包名的目标
移花接木的源和目标应该在同一个 app 内部。如果你把微信的某个 Activity 替换成支付宝的 Activity,大概率会出问题:
- 目标 app 可能没启动,直接抛异常
- 跨 app 的 Intent 可能缺少必要的参数
- 即使成功跳过去,体验也会很奇怪
最佳实践:源和目标都在同一个包名下。
某些 app 的广告页可能有多个
有些 app 的开屏广告不止一个 Activity——可能先 SplashActivity → AdActivity → MainActivity。这种情况下你需要配置多条规则:
SplashActivity → MainActivity
AdActivity → MainActivity
移花接木 vs 其他方式
跳过开屏广告的方式有很多种:
| 方式 | 原理 | 优势 | 劣势 |
|---|---|---|---|
| Thanox 移花接木 | Activity 替换 | 系统层,无需操作 app UI | 需要 Thanox 激活 |
| Tasker + AutoInput | UI 层自动点击"跳过" | 通用性强,不用 Xposed | 慢,等广告加载完才能点 |
| 其他 Xposed 模块 | 类似 hook | 可能和 Thanox 冲突 | 功能重叠 |
移花接木是系统层秒跳,体验最好——广告页根本不会出现在屏幕上。
移花接木这一章到这里结束。接下来进入 Thanox 最强大的模块——情景模式规则引擎。