Android 自己会拦截广告吗?
Android 没有广告拦截开关。系统自带的功能中有两项比较接近,但只有一项能作用于整部手机:
| 功能 | 作用范围 | 拦截内容 |
|---|---|---|
| Chrome 的干扰性广告设置 | 仅限 Chrome | Google 认定展示干扰性或误导性广告的网站上的广告。其他网站上的普通广告仍会加载。 |
| 填入广告拦截主机名的私人 DNS | 使用手机 DNS 的应用和浏览器,Wi-Fi 和移动数据均可 | DNS 服务商列表中的广告和跟踪器地址 |
所以实际可行的办法是私人 DNS。Android 9 及以上版本自带,它不是应用,无需安装。
私人 DNS 如何拦截广告?
应用或网站在加载广告之前,手机会先向 DNS 服务器查询广告服务器的地址。启用私人 DNS 后,每一次查询都会通过 DNS over TLS 加密,发往您填写的主机名。拦截广告的 DNS 服务商,对其列表中的广告和跟踪器地址会回答“未找到”(或 0.0.0.0 这样的空地址),广告也就加载不出来。页面本身的地址会被正常解析,所以页面照常打开。如果某个浏览器或应用使用自己的加密 DNS,而不是手机的 DNS,就会绕过私人 DNS。
这种方式有局限。当广告和内容来自同一个地址时,DNS 无法把它们区分开。YouTube 视频广告和社交应用里的赞助帖子是常见的例子,详见DNS 无法拦截的内容。另外,您填写的服务商能看到手机发出的每一次 DNS 查询,请先阅读它的隐私政策。
私人 DNS 服务商主机名列表
下面是填入私人 DNS 提供商主机名输入框的主机名。两列数字来自我们的 DNS 广告拦截测试:在 23 个国家的 429 个热门网站上出现的 1,880 个广告和跟踪器名称中,各服务商拦截的比例,以及它误拦截了多少网站所需的名称。
| 服务商 | 私人 DNS 主机名 | 过滤内容 | 已拦截的广告和跟踪器 | 被误拦截的网站所需部分 |
|---|---|---|---|---|
| Control D (ads & tracking) | p2.freedns.controld.com | 广告、跟踪器、恶意软件 | 97.8% | 34 |
| dnsforge.de | dnsforge.de | 广告、跟踪器、恶意软件 | 98.5% | 62 |
| AdGuard DNS | dns.adguard-dns.com | 广告、跟踪器、网络钓鱼 | 87.1% | 4 |
| AdGuard DNS Family | family.adguard-dns.com | 广告、跟踪器、网络钓鱼、成人网站 | 87.1% | 20 |
| Mullvad DNS (adblock) | adblock.dns.mullvad.net | 广告、跟踪器(Mullvad 表示这项公共服务将于 2026年11月2日 结束) | 66.3% | 4 |
| Cloudflare for Families | family.cloudflare-dns.com | 恶意软件、成人网站 | 0.2% | 2 |
| OpenDNS FamilyShield | familyshield.opendns.com | 成人网站 | 0.1% | 0 |
| Quad9 | dns.quad9.net | 恶意网站 | 0.1% | 0 |
| Cloudflare 1.1.1.1 | one.one.one.one | 不过滤 | 0.1% | 0 |
| Google Public DNS | dns.google | 不过滤 | 0.1% | 0 |
| OpenDNS | dns.opendns.com | 网络钓鱼网站 | 0.1% | 0 |
各服务商的测量通过 DNS over HTTPS 进行,测量日期:2026年10月7日。随后(2026年10月7日)我们用私人 DNS 所使用的协议 DNS over TLS,通过上表中的主机名再次查询了同样的 1,880 个广告和跟踪器名称,拦截判定相同的数量为:100.0%。服务商可能更改主机名和列表,因此在依赖某个主机名之前,请先查看服务商自己的页面。有些服务商(例如 NextDNS)会给每位用户分配专属主机名,这类主机名不在表中。
如何开启私人 DNS 广告拦截?
- 打开设置,找到私人 DNS:在 Pixel 和原生 Android 上位于网络和互联网中,在三星上位于连接,再点按更多连接设置,在小米上位于连接与共享中。如果找不到,请在“设置”中搜索“私人 DNS”。
- 选择私人 DNS 提供商主机名。
- 输入表中的一个主机名,例如
dns.adguard-dns.com,然后点按保存。
三种模式和各品牌手机的菜单,请参阅 Android 手机如何设置私人 DNS,那里有更详细的说明。
可能出什么问题?
- 保存后无法上网。 填入主机名后,Android 只会使用那台服务器。如果网络屏蔽了 DNS over TLS(一些公司、酒店和公共 Wi-Fi 会这样),或主机名拼写有误,DNS 查询就会失败。请把私人 DNS 改回关闭或自动。
- 某个网站或应用无法使用。 广告拦截列表也会拦截一些网站所需的地址,表格最后一列统计了这种情况在我们的测试中出现的次数。可以换一个服务商,或在使用该应用期间暂时关闭私人 DNS。
- Wi-Fi 登录页面。 填入主机名期间,酒店或机场的登录页面可能打不开。请先关闭私人 DNS,登录后再重新开启。
EZOBLOCKER 在其中处于什么位置?
EZOBLOCKER 没有私人 DNS 主机名。它通过应用工作:本地隧道捕获手机的 DNS 查询,加密后发送到我们的服务器;我们列表中的广告和跟踪器,会在到达您的手机之前就在我们的服务器上被拦截,您选择的其他类别也是如此。在同一测试中,它对广告和跟踪器名称的拦截率为 96.5%,被误拦截的网站所需部分为 3。由于填入的主机名优先生效,使用 EZOBLOCKER 期间,私人 DNS 必须设为关闭或自动。
如果您更想用公共服务商,可以在应用的“设置”>“高级”>DNS服务提供方中切换(AdGuard DNS、AdGuard Family、Cloudflare、Google、OpenDNS、Quad9 等);在这种模式下,它自己的类别不会生效。要确认 EZOBLOCKER 是否在过滤,请用手机浏览器打开保护状态检查。