frameworks/base/services/core/java/com/android/server/connectivity/DnsManager.java
在命令行中输入getprop | grep dns 可以看到[net.dns1]: [10.0.0.1]
这个系统属性是在DnsManager.java 里面设置的。
private void setNetDnsProperty(int which, String value) {
final String key = “net.dns” + which;
// Log and forget errors setting unsupported properties.
try {
mSystemProperties.set(key, value);
} catch (Exception e) {
Slog.e(TAG, "Error setting unsupported net.dns property: ", e);
}
}
调用流程:
ConnectivityService.maybeHandleNetworkAgentMessage.NetworkAgent.EVENT_NETWORK_PROPERTIES_CHANGED–>
ConnectivityService.handleUpdateLinkProperties–>
ConnectivityService.updateLinkProperties–>
ConnectivityService.updateDnses–>
DnsManager.setDnsConfigurationForNetwork–>
DnsManager.setDefaultDnsSystemProperties–>
DnsManager.setNetDnsProperty–>