我们使用 VpnService 来设置具有自定义 DNS 设置的 VPN。我们只是对更改设备的 DNS 设置感兴趣。
在当前版本的 Android(P 及以下)中,通过不在 VPN 中设置路由,服务流量会直接路由到应用程序,DNS 请求会发送到提供的地址。我们不需要 TUN 接口,因为我们不提供真正的 VPN 服务。
在 Android Q beta 3 上,VPN 已建立,但 DNS 设置被忽略。发生了什么变化?
下面是我们如何在 onStartCommand 中启动服务
b.addAddress("10.0.2.15", 32);
b.addDnsServer("8.8.8.8");
b.addDnsServer("8.8.4.4");
b.establish();