Android 9.0 Framework DNS解析流程

Posted Mrsongs的心情杂货铺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 9.0 Framework DNS解析流程相关的知识,希望对你有一定的参考价值。

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–>

以上是关于Android 9.0 Framework DNS解析流程的主要内容,如果未能解决你的问题,请参考以下文章

Android 9.0 Framework DNS解析流程

Android 9.0 Framework DNS解析流程

基于Android 9.0 电池温度异常提醒

Android 9.0 虚拟机连不了网的解决办法

9.0系统手机激活XPOSED框架失败The Xposed framework is not

Android Framework------之Property子系统