Android 自带广告拦截功能吗?

没有单独的设置项,但 Android 的私人 DNS(Android 9 及以上)可以起到这个作用。填入 dns.adguard-dns.com 这类广告拦截服务商的主机名后,手机会把所有 DNS 查询发到那里,该服务商列表中的广告和跟踪器地址在应用和浏览器里就不再加载。在我们的测试(2026年10月7日)中,这个主机名对应的服务商拦截率为 87.1%(共 1,880 个广告和跟踪器名称);不做过滤的 one.one.one.one 和 dns.google 的拦截率为 0.1%。

阅读约需 5 分钟上次审核:2026年10月7日

Android 自己会拦截广告吗?

Android 没有广告拦截开关。系统自带的功能中有两项比较接近,但只有一项能作用于整部手机:

功能作用范围拦截内容
Chrome 的干扰性广告设置仅限 ChromeGoogle 认定展示干扰性或误导性广告的网站上的广告。其他网站上的普通广告仍会加载。
填入广告拦截主机名的私人 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.dednsforge.de广告、跟踪器、恶意软件98.5%62
AdGuard DNSdns.adguard-dns.com广告、跟踪器、网络钓鱼87.1%4
AdGuard DNS Familyfamily.adguard-dns.com广告、跟踪器、网络钓鱼、成人网站87.1%20
Mullvad DNS (adblock)adblock.dns.mullvad.net广告、跟踪器(Mullvad 表示这项公共服务将于 2026年11月2日 结束)66.3%4
Cloudflare for Familiesfamily.cloudflare-dns.com恶意软件、成人网站0.2%2
OpenDNS FamilyShieldfamilyshield.opendns.com成人网站0.1%0
Quad9dns.quad9.net恶意网站0.1%0
Cloudflare 1.1.1.1one.one.one.one不过滤0.1%0
Google Public DNSdns.google不过滤0.1%0
OpenDNSdns.opendns.com网络钓鱼网站0.1%0

各服务商的测量通过 DNS over HTTPS 进行,测量日期:2026年10月7日。随后(2026年10月7日)我们用私人 DNS 所使用的协议 DNS over TLS,通过上表中的主机名再次查询了同样的 1,880 个广告和跟踪器名称,拦截判定相同的数量为:100.0%。服务商可能更改主机名和列表,因此在依赖某个主机名之前,请先查看服务商自己的页面。有些服务商(例如 NextDNS)会给每位用户分配专属主机名,这类主机名不在表中。

如何开启私人 DNS 广告拦截?

  1. 打开设置,找到私人 DNS:在 Pixel 和原生 Android 上位于网络和互联网中,在三星上位于连接,再点按更多连接设置,在小米上位于连接与共享中。如果找不到,请在“设置”中搜索“私人 DNS”。
  2. 选择私人 DNS 提供商主机名。
  3. 输入表中的一个主机名,例如 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 是否在过滤,请用手机浏览器打开保护状态检查。

常见问题

1.1.1.1 能拦截广告吗?

不能。Cloudflare 1.1.1.1(私人 DNS 主机名为 one.one.one.one)不做过滤,在我们的测试(2026年10月7日)中,对 1,880 个广告和跟踪器名称的拦截率为 0.1%。Cloudflare for Families(family.cloudflare-dns.com)拦截的是恶意软件和成人网站,而不是广告,同一测试中的拦截率为 0.2%。

94.140.14.14 能拦截广告吗?

能,94.140.14.14 就是 AdGuard DNS。但在 Android 上不能填 IP 地址,私人 DNS 需要填主机名 dns.adguard-dns.com。在我们的测试(2026年10月7日)中,它对广告和跟踪器名称的拦截率为 87.1%。

哪个私人 DNS 主机名拦截的广告最多?

在我们的测试(2026年10月7日)中,广告拦截主机名的拦截率如下:p2.freedns.controld.com 为 97.8%,dnsforge.de 为 98.5%,dns.adguard-dns.com 为 87.1%,adblock.dns.mullvad.net 为 66.3%。拦截率只是一半的信息:同一测试还统计了网站所需却被误拦截的部分(按同样的顺序依次为 34、62、4、4)。完整表格和测试方法见 DNS 广告拦截测试页面。

私人 DNS 和 EZOBLOCKER 可以同时使用吗?

不可以。填入的私人 DNS 主机名优先生效,EZOBLOCKER 收不到 DNS 查询,它的类别也就无法过滤任何内容。使用 EZOBLOCKER 时,请把私人 DNS 设为“关闭”或“自动”。