更新时间:2026-07-24 GMT+08:00
分享

通过命令行设置DNS

功能介绍

通过ndc resolver命令行动态设置dns域名解析服务器列表。

使用方法

adb shell ndc resolver setnetdns <netId> <domains> <dns1> [<dns2> ...] [--params <params>]

参数说明

参数

说明

约束

netId

网络标识符(Network ID)

云手机取值固定为“100”。

domains

搜索域名列表 (Domain Search List)

  • 域名字符串。
  • 多个域名用空格分隔,此命令中用双引号包裹。
  • 空字符串 ("") 表示不使用任何搜索域名。

dns1~dns4

DNS解析服务器的IP地址列表 (Server Addresses)

  • 必须是有效的IPv4地址。
  • 设置dns1~dns4解析服务器列表,最少设置一个,最多设置四个。多个IP地址用空格分隔。

--params <params>

解析器配置参数 (Resolver Parameters)

可选参数,缺省表示使用系统默认值"1800 25 8 64"。此时参数含义如下:

  • 1800:采样数据的有效时间(秒)。超过此时间,解析器会重新开始统计DNS服务器的成功/失败率。
  • 25: 成功率百分比阈值(%)。DNS服务器要被视为健康,其成功率必须高于此值(25%)。
  • 8:最小查询样本数。用于计算服务器健康状态所需的最少查询请求数量。
  • 64:最大查询样本数。 限制用于健康评估的查询请求样本总数,防止数据量过大。

命令示例

设置当前云手机实例的DNS域名解析服务器列表为8.8.8.8。

adb shell ndc resolver setnetdns 100 "" 8.8.8.8

验证方法

通过以下方式查看当前云手机实例配置的DNS域名解析服务器列表信息:

  • Android 7版本通过执行adb shell dumpsys netd命令查看。
    图1 Android 7执行结果
  • Android 11及以上版本通过执行adb shell dumpsys dnsresolver命令查看。
    图2 Android 11执行结果

相关文档