Хорошо, это постоянно задаваемый вопрос, как изменить DNS мобильной сети. Но в разных версиях Android вы получите другой метод. Вот почему я спрашиваю об этом.
Я уже знаю метод для Android 4 и ниже. Теперь я хочу знать, как изменить DNS мобильной сети на Android 5.0 Lollipop и выше.
Ключ:
ndc resolver setnetdns <netId> <domains> <dns1> <dns2>
Кто-то сказал, что я должен использовать эту команду для изменения DNS мобильной сети в Lollipop и выше, но что это такое netId
? Где найти это значение? Не могли бы вы привести пример?
Я не программист C/C++, но я пытаюсь прочитать относительный исходный код, найденный netid
будет преобразован в беззнаковый длинный тип по strtoul
функции. Так что я думаю, netid
должна быть шестнадцатеричная строка. Я пытаюсь использовать netcfg
выходное значение, но это не работает.
Не могли бы вы дать мне более подробное объяснение этого метода? Как это использовать? Или есть другой эффективный способ изменить DNS мобильной сети в Lollipop и выше?
Я больше не использую Lollipop на своем телефоне. Однако, поскольку ваш вопрос касается Lollipop и выше, а я использую Marshmallow, я могу подтвердить, что:
ndc resolver setnetdns devname dnsdomain dns1 dns2
работает. Похоже, вам больше не нужно знать идентификатор сети в Marshmallow, вам нужно только имя устройства.
Так, например:
ndc resolver setnetdns rndis0 "" 8.8.8.8 8.8.4.4
установит DNS для интерфейса rndis0 на общедоступные DNS-серверы Google.
dnsdomain
?dnsdomain
что это поисковый домен. Например, если для него установлено значение «lan» и вы набираете «my-home-pc», система попытается разрешить «my-home-pc.lan».netId
? У меня Nexus 5 с Android 6.0.1, и он у меня не работает. С netId
, без проблем. Я пробовал только в сети Wi-Fi, я проведу дополнительные исследования.stringToNetId
, но я недостаточно знаком с исходным кодом Android и C++, чтобы точно сказать, что он делает.
Эндрю Т.
Джино
МаксЧинни
netId
значение из CLI. Я получаю это с помощью метода Java.Гокул Северная Каролина
Ирфан Латиф