AdAway 偏好设置全景 —— 每个开关到底管什么
偏好设置在哪
AdAway 主界面 → 右上角菜单(三个点或齿轮)→ 偏好(Preferences / Settings)。
拦截相关设置
本地 Web 服务器(Local Web Server)
默认关闭,某些场景必须开。
作用:当 hosts 拦截返回 127.0.0.1 时,手机上什么都没监听,请求直接被拒绝。某些 APP(特别是老版 Android 浏览器的"后退"按钮逻辑)收到连接拒绝后会崩溃或卡住。
开本地 Web 服务器后:
- AdAway 启动一个极小的 HTTP 服务器监听 127.0.0.1
- 被拦截的域名请求会收到一个空响应(HTTP 204 No Content)而不是连接拒绝
- 解决某些 APP 在连接被拒绝时的兼容性问题
什么时候开:
- Android 浏览器后退按钮停止工作(FAQ 明确提到)
- 某些 APP 被拦截后显示奇怪的错误页面
- 想让被拦域名返回干净的空页面而不是浏览器错误
内存消耗:开着会多占约 1~2 MB 内存,几乎可以忽略。
重定向规则允许(Allow Redirection Rules)
默认关闭。打开后 hosts 源里的重定向规则(IP 不是 127.0.0.1/0.0.0.0 的那些行)会被应用。
详见 Redirect 重定向。
Hosts 更新设置
- 自动更新 Hosts:打开后 AdAway 会定时刷新所有启用的 hosts 源。默认频率每 24 小时
- 更新频率:每 12 小时 / 每 24 小时 / 每周
- 只在 Wi-Fi 下更新:默认打开。避免用移动数据流量下载 hosts
- 自动应用更新:默认关闭。更新完 hosts 源后自动重新应用到系统(否则只更新缓存不生效)
- 应用前通知:打开后每次要应用前给个通知,防止后台偷偷改了 hosts
日志与安全设置
- 显示已允许的请求:默认关闭。DNS 日志只记录 Blocked,打开后也记录 Allowed
- TCPDump 超时:DNS 日志会话的最长时长,默认 30 分钟。超时后自动停止抓包
- 允许非 root 模式:默认打开。非 root 设备自动用 VPN 模式,关了就只给 root 用
通知设置
- 前台服务通知:VPN 模式下必须开(Android 强制要求)。root 模式下可以关但不建议
- 更新完成通知:hosts 更新完弹个通知
- 应用失败通知:应用 hosts 失败时弹通知
性能相关
| 选项 | 影响 | 建议 |
|---|---|---|
| hosts 文件大小 | 条目越多系统查 hosts 越慢 | 控制 2~3 个 hosts 源,别堆 50 万条 |
| VPN 模式 CPU 开销 | 每个 DNS 请求过虚拟网卡 | root 模式优先,VPN 模式稍费电 |
| 本地 Web 服务器内存 | +1~2 MB | 需要时开,平时不关也无压力 |
恢复默认设置
偏好设置页面底部有 "恢复默认值(Reset to default)"。会把所有偏好选项恢复到安装初始状态。不会清空 hosts 源和自定义规则(Allowlist/Blocklist/Redirect 不受影响)。
要完全重置 AdAway → 卸载重装 → 清理数据。
建议配置(作者个人推荐)
Root 模式用户
- 本地 Web 服务器:开(兼容性好,内存可忽略)
- 重定向规则允许:关(除非你在用中国重定向列表)
- 自动更新 Hosts:开 + 24 小时 + Wi-Fi only + 自动应用
- 显示已允许的请求:关(DNS 日志看 Blocked 就够了)
- 通知:只开"应用失败通知"
VPN 模式用户
和上面一样,额外注意:
- 保持 VPN 状态监控开着
- 电池优化里把 AdAway 设为"无限制"
