AdAway 中文文档 下载 App

Root 设备上的 AdAway 部署 —— Magisk Systemless Hosts 集成指南

前置条件

你的设备需要:

什么是 Systemless Hosts

传统 root 方式下 AdAway 会直接写 /system/etc/hosts。问题是:

Magisk 的 Systemless Hosts 模块解决了这些:

配置步骤

第一步:在 Magisk Manager 里启用 Systemless Hosts

  1. 打开 Magisk Manager
  2. 进入设置(右上角齿轮)
  3. 找到 "启用 Systemless Hosts"(Enable systemless hosts)开关,打开
  4. 按提示重启设备

这一步很重要——不重启的话 AdAway 检测不到 Magisk 的支持。

第二步:确认 AdAway 识别到 root 和 Magisk

重启后打开 AdAway:

  1. 主界面应该显示 "Root Mode" 或类似提示
  2. 点应用按钮,AdAway 会提示 root 权限,允许即可
  3. 如果 AdAway 提示"无法写入 hosts",说明 Magisk Systemless Hosts 没启好,回去检查第一步

第三步:首次应用

详见 首次启动向导,root 模式下的流程和普通模式略有不同。

验证是否生效

最简单的方法:

  1. 浏览器打开 doubleclick.net(Google 的广告域名)
  2. 如果页面加载失败或显示空白,说明拦截生效
  3. 或者用 root 工具查看 /system/etc/hosts,里面应该有上万条 AdAway 生成的条目

进阶验证:

adb shell cat /system/etc/hosts | head -20

开头应该有 AdAway 的注释:

# This hosts file is generated by AdAway.
# Please do not modify it directly, it will be overwritten when AdAway is applied again.

Magisk Hide 的影响

如果你在 Magisk 里启用了 Hide 或 DenyList,需要确保 AdAway 不在 Hide 列表里——否则 AdAway 自己会被认为"没有 root 权限",无法写入 hosts。

同样,如果你把某些 APP 加了 Hide,那些 APP 发起的 DNS 请求 AdAway 可能看不到——这种情况下用 VPN 模式配合 root 模式可能更稳。

卸载与还原

想完全撤销 Magisk Systemless Hosts 的效果:

  1. Magisk Manager → 模块 → 关掉 Systemless Hosts 开关
  2. 重启设备
  3. hosts 文件恢复为系统默认的简单版本

这就是 Systemless Hosts 相比传统直接写 /system 的最大优势:随时开关、零痕迹、不需要恢复原始文件。

注意事项

为什么这是最优解

Root + Magisk Systemless Hosts + AdAway 的组合是目前 Android 上"系统级广告拦截"的黄金方案: