What you’ll learn
  • How Android Private DNS protects DNS lookups
  • How to configure NextDNS from Android Settings or with ADB
  • How to verify the result, troubleshoot failures, and safely undo the change

Most of us open an app or type a website address without thinking about what happens next. Before your device can connect, it must ask a Domain Name System (DNS) service where that website or online service can be found.

Those DNS requests can reveal the services your device is trying to reach. Private DNS protects the request between your Android device and a compatible DNS provider by encrypting it. In this tutorial, we’ll use NextDNS as the provider.

This guide is not limited to the NVIDIA Shield. It covers:

  • Android phones and tablets
  • Android TV streaming devices and televisions
  • Google TV streaming devices and televisions
  • NVIDIA Shield TV
  • Other Android-based devices that support Private DNS and Android Debug Bridge (ADB)

We’ll begin with the easy on-screen method. If your device hides the Private DNS menu—as many TV devices do—we’ll use ADB from a computer instead. No command-line experience is required; every command is explained.

What Are DNS and Private DNS?

DNS works like a directory for the internet. People remember a name such as techlittlebrawta.com, but computers connect using numerical IP addresses. Your device asks a DNS resolver to translate the name into the address it needs.

Traditional DNS requests are often sent without encryption. Private DNS on Android uses DNS-over-TLS, commonly shortened to DoT, to create an encrypted connection to a compatible DNS resolver.

Private DNS can:

  • Protect DNS requests from casual observation while they travel across the network
  • Apply the security, privacy, allowlist, denylist, and parental-control rules in your NextDNS configuration
  • Give you one DNS policy that follows a portable device between compatible networks

Private DNS does not make you anonymous, replace a VPN, encrypt every part of your internet traffic, or guarantee that every app will use the system DNS service. An app with its own DNS resolver, or a VPN with its own DNS configuration, may bypass the Android setting.

Will This Work on My Device?

This guide is intended for devices that run Android, Android TV, or Google TV and support Android’s Private DNS feature. Private DNS was introduced with Android 9, but availability still depends on the device software and manufacturer.

Examples can include an NVIDIA Shield TV, Google TV Streamer, Chromecast with Google TV, onn. Google TV device, Xiaomi TV Box, and televisions from manufacturers that use Android TV or Google TV. Support still depends on the Android version and changes made by the manufacturer.

This procedure is not intended for Roku, Apple TV, Samsung Tizen, LG webOS, or another non-Android television platform. Amazon Fire TV is based on Android, but Fire OS differs enough that the exact menus and behavior in this guide are not guaranteed.

If your device shows a Private DNS option, use Method 1. If it runs Android TV or Google TV but hides that option, try Method 2.

What You’ll Need

For either method:

  1. An Android, Android TV, or Google TV device
  2. A working internet connection
  3. A NextDNS account and configuration

For the ADB method:

  1. A Windows, macOS, or Linux computer
  2. The computer and Android device connected to the same trusted home network
  3. The latest Android SDK Platform-Tools, which includes ADB
  4. Access to Developer options on the Android device

Important: Use wireless or network debugging only on a network you trust. Turn debugging off when the setup is complete.

Step 1: Create or Select a NextDNS Configuration

If you are new to NextDNS:

  1. Visit NextDNS and create an account.
  2. Sign in to the NextDNS dashboard.
  3. Create a configuration, or open the default configuration created for you.
  4. Review the Security, Privacy, Parental Control, Allowlist, and Denylist sections.
  5. Open the Setup tab.

The Setup page provides a configuration-specific Private DNS hostname. It looks similar to this:

abc123.dns.nextdns.io

In that example, abc123 represents the NextDNS configuration ID. Your ID will be different.

Throughout this guide, we’ll use this placeholder:

YOUR_CONFIG_ID.dns.nextdns.io

Replace YOUR_CONFIG_ID with the ID shown in your NextDNS account. Do not type the words YOUR_CONFIG_ID.

Real NextDNS Android Setup page showing where to find the Private DNS hostname

Actual NextDNS Setup page. The account’s configuration ID has been replaced with YOUR_ID for privacy.

Optional: Give the Device a Name in NextDNS

You can add a device name before the configuration ID so that requests are easier to recognize in the NextDNS logs.

For a device named “Living Room TV,” the hostname would look like this:

Living--Room--TV-YOUR_CONFIG_ID.dns.nextdns.io

Use:

  • A single hyphen between the device name and configuration ID
  • Two hyphens where you want a space in the displayed device name
  • Only letters, numbers, and hyphens in the device-name portion

Copy the exact DNS-over-TLS hostname from your NextDNS Setup page when possible.

Common mistake: Do not enter https://, tls://, a slash, or a web page address. Android needs only the hostname, such as abc123.dns.nextdns.io.

Method 1: Use the Private DNS Menu

Use this method if your phone, tablet, or TV displays a Private DNS option.

Menu names vary slightly by Android version and manufacturer, but the usual path is:

Settings → Network & internet → Private DNS

On some devices, you may first need to select Advanced, More connection settings, or Other network settings.

Then:

  1. Select Private DNS provider hostname.
  2. Enter your NextDNS hostname:
   YOUR_CONFIG_ID.dns.nextdns.io
  1. Select Save.
  2. Continue to the verification section later in this guide.
Real Android Settings screens showing Network and internet and the Private DNS entry

Actual Pixel-style Android Settings screens. First open Network & internet, and then select Private DNS. Screenshot source: ExpressVPN.

Real Android Private DNS dialog showing the provider-hostname field and Save button

Actual Android Private DNS dialog. These reference screenshots contain Cloudflare’s one.one.one.one; when following this tutorial, enter your NextDNS hostname instead. Screenshot source: ExpressVPN.

If your Android TV or Google TV device does not show a Private DNS menu, that does not necessarily mean the feature is missing. The manufacturer may simply have hidden the menu. Method 2 changes the same Android setting through ADB.

Method 2: Use ADB When the Private DNS Menu Is Hidden

ADB stands for Android Debug Bridge. It is an official Android command-line tool that lets an authorized computer send commands to an Android device.

We will use it to save two settings:

  • The NextDNS provider hostname
  • The instruction to use a specific Private DNS hostname

We are not rooting the device, unlocking its bootloader, or installing custom firmware.

Step 2: Enable Developer Options

Developer options are hidden by default. The exact path varies, but these are the most common routes.

Google TV

  1. Open Settings.
  2. Select System.
  3. Select About.
  4. Find Android TV OS build.
  5. Select it seven times.

Android TV

  1. Open Settings.
  2. Select Device Preferences.
  3. Select About.
  4. Find Build.
  5. Select it seven times.

NVIDIA Shield TV

  1. Open Settings.
  2. Select Device PreferencesAbout. On some Shield versions, About appears directly in Settings.
  3. Find Build.
  4. Select it seven times.

NVIDIA documents the seven-click Build process in its official Shield ADB instructions.

You may be asked for the device PIN. When successful, the screen will display a message similar to “You are now a developer.”

Real Google TV About screen with Android TV OS build selected

Actual Chromecast with Google TV About screen. Select Android TV OS build seven times. Newer software may show a different build number while keeping the same option. Screenshot source: All About Chromecast.

Step 3: Enable Debugging

Return to Settings and open Developer options. Depending on the device, look for one of these:

  • Wireless debugging
  • Network debugging
  • ADB debugging
  • USB debugging

The connection process depends on which option the device provides.

Option A: Wireless Debugging with a Pairing Code

Devices running Android 11 or later may have a Wireless debugging menu with Pair device with pairing code.

  1. Turn on Wireless debugging.
  2. Allow debugging on your current trusted network.
  3. Select Pair device with pairing code.
  4. Keep the screen open. It should display:
  • An IP address
  • A pairing port
  • A six-digit pairing code

The pairing address may look like this:

192.168.1.50:37123

The port is the number after the colon. It may change, so use the exact value shown on your device.

Option B: Network Debugging Without a Pairing Code

Some Android TV devices, including Shield software versions that expose Network debugging, use a direct ADB connection.

  1. Turn on Network debugging.
  2. Note the IP address and port shown on the screen.

It may look like this:

192.168.1.50:5555

If the screen shows only an IP address, port 5555 is commonly used for this older connection method.

Real NVIDIA Shield Developer options screen with Network debugging enabled

Actual NVIDIA Shield Developer options screen with Network debugging enabled. Screenshot source: BlackBox QA.

Step 4: Install ADB on the Computer

Google includes ADB in Android SDK Platform-Tools. You do not need to install the full Android Studio application.

  1. Open the official SDK Platform-Tools download page.
  2. Download the package for Windows, macOS, or Linux.
  3. Extract the downloaded ZIP file.
  4. Open the extracted platform-tools folder.

Open a Terminal in the Correct Folder

Windows 11:

  1. Right-click an empty area inside the platform-tools folder.
  2. Select Open in Terminal.

macOS or Linux:

  1. Open Terminal.
  2. Type cd, add a space, and drag the platform-tools folder into the Terminal window.
  3. Press Enter.

Check that ADB works:

adb version

On macOS or Linux, you may need to add ./ before each command:

./adb version

If adb version displays version information, you’re ready. If Windows says that adb is not recognized, confirm that the Terminal is open inside the extracted platform-tools folder.

Step 5: Connect the Computer to the Android Device

Use the section that matches the debugging screen on your device.

Pairing-Code Method

With Pair device with pairing code still open, enter:

adb pair DEVICE_IP:PAIRING_PORT

Example:

adb pair 192.168.1.50:37123

ADB will ask for the six-digit pairing code displayed on the TV. Type it and press Enter.

After pairing, return to the main Wireless debugging screen. Find the device’s normal debugging IP address and port. This port may be different from the pairing port.

Connect with:

adb connect DEVICE_IP:DEBUGGING_PORT

Example:

adb connect 192.168.1.50:39817

Common mistake: The pairing port and debugging port are not always the same. Use the address shown on the pairing screen for adb pair, then use the address shown on the main Wireless debugging screen for adb connect.

Direct Network-Debugging Method

Enter:

adb connect DEVICE_IP:PORT

Example:

adb connect 192.168.1.50:5555

The TV may display a message asking whether to allow debugging from your computer. Select Allow. On a personal computer, you may also select Always allow from this computer.

Confirm the Connection

Run:

adb devices

A successful connection looks similar to this:

List of devices attached
192.168.1.50:5555    device

The word device at the end means ADB is connected and authorized.

Do not continue if the status says unauthorized, offline, or if no device appears. Use the troubleshooting section below first.

Step 6: Save the NextDNS Private DNS Settings

We’ll enter two commands. Replace the example hostname with the exact one from your NextDNS Setup page.

First, save the provider hostname:

adb shell settings put global private_dns_specifier YOUR_CONFIG_ID.dns.nextdns.io

Next, tell Android to use a specific Private DNS provider:

adb shell settings put global private_dns_mode hostname

If you created a device-identifying hostname, the first command may look like this:

adb shell settings put global private_dns_specifier Living--Room--TV-YOUR_CONFIG_ID.dns.nextdns.io

Nothing dramatic may appear after each command. A blank response normally means Android accepted it.

What Did Those Commands Do?

The first command saved the NextDNS hostname in Android’s global private_dns_specifier setting.

The second changed private_dns_mode to hostname, which tells Android to use the specific provider hostname instead of Automatic or Off mode.

Step 7: Confirm the Saved Values

Check the Private DNS mode:

adb shell settings get global private_dns_mode

The result should be:

hostname

Check the provider hostname:

adb shell settings get global private_dns_specifier

The result should match the hostname from your NextDNS account:

YOUR_CONFIG_ID.dns.nextdns.io

If either value is wrong, repeat the matching settings put command before restarting.

Step 8: Restart the Device

Restart from the device’s normal Settings menu, or use:

adb reboot

The ADB connection will close while the device restarts. That is expected.

Step 9: Verify That NextDNS Is Actually Being Used

Checking the saved values confirms that Android stored the configuration. We also want to confirm that DNS requests are reaching NextDNS.

Check from a Web Browser

If the device has a browser, visit:

https://test.nextdns.io/

The result should indicate that the device is using NextDNS. A configured connection should also report the correct NextDNS profile.

Check the NextDNS Logs

  1. Sign in to the NextDNS dashboard.
  2. Open the correct configuration.
  3. Select Logs.
  4. On the Android device, open a few streaming apps or load online content.
  5. Refresh the NextDNS log and look for recent requests.

If you used a device-identifying hostname, the name should help you recognize the device.

Test a Blocked Domain Carefully

If you have enabled a standard blocklist in NextDNS, the Setup page can help confirm that the correct configuration is active. Avoid adding a service you use to the Denylist merely for testing; an accidental block can make troubleshooting harder.

Step 10: Turn Off Debugging

Once Private DNS is working:

  1. Return to SettingsDeveloper options.
  2. Turn off Wireless debugging, Network debugging, or the debugging option you enabled.
  3. If the device provides a Paired devices list, remove computers you no longer want authorized.

The Private DNS settings will remain in place after debugging is turned off.

Troubleshooting

“adb” Is Not Recognized or the Command Is Not Found

  • Confirm that you extracted the Platform-Tools ZIP file.
  • Open the Terminal inside the extracted platform-tools folder.
  • On macOS or Linux, try ./adb instead of adb.
  • Do not run the command from inside the ZIP file preview.

ADB Reports “Connection Refused”

  • Confirm that debugging is still enabled.
  • Make sure the computer and Android device are on the same local network.
  • Enter the exact IP address and port currently shown on the device.
  • Do not assume that a temporary wireless-debugging port will remain the same.
  • Check whether guest Wi-Fi, access-point isolation, or client isolation is preventing local devices from communicating.

Restart the ADB service:

adb kill-server
adb start-server

Then try adb connect again.

ADB Reports “Unauthorized”

Look at the television or device screen for an authorization prompt and select Allow.

If no prompt appears:

  1. Disconnect with adb disconnect.
  2. Turn debugging off and back on.
  3. Select Revoke USB debugging authorizations if the option is available.
  4. Pair or connect again.

adb pair Works but adb connect Fails

Return to the main Wireless debugging screen and check the debugging address. The pairing screen may use a different port. Use:

adb connect DEVICE_IP:DEBUGGING_PORT

not the expired pairing address.

The Internet Stops Working After Private DNS Is Enabled

Android’s hostname mode is strict. If the hostname is incorrect or the network blocks DNS-over-TLS, DNS requests can fail.

Check for:

  • A mistyped configuration ID
  • An accidental https:// or tls:// prefix
  • A space, slash, underscore, or other invalid character
  • A router, firewall, or network that blocks DNS-over-TLS on TCP port 853
  • A temporary NextDNS or internet connection problem

Use the rollback instructions below to restore Android’s Automatic behavior.

NextDNS Works, but Some Requests Are Missing

Some applications and VPN services use their own DNS resolver. Those requests may not appear in the NextDNS log because they never use Android’s system Private DNS setting.

Local Device Names Stop Resolving

A strict external Private DNS provider may not know the local hostnames created by your router, such as a printer or server name used only inside your home. Connect with an IP address, configure appropriate rewrites in NextDNS, or use a router-level DNS design if local name resolution is important.

The Settings Commands Return a Permission Error

Some manufacturers restrict changes to global settings or remove parts of Android’s Private DNS support. Update the device software, confirm that ADB is fully authorized, and check the manufacturer’s documentation. If the restriction is part of the firmware, a router-level NextDNS configuration may be the better option.

How to Undo the Change

To return Android to its normal Automatic Private DNS behavior, reconnect with ADB and run:

adb shell settings put global private_dns_mode opportunistic

Optionally remove the saved provider hostname:

adb shell settings delete global private_dns_specifier

Restart the device:

adb reboot

On a phone, tablet, or device with the Private DNS menu, you can simply change the setting to Automatic instead.

A Few Important Security and Privacy Notes

  • Private DNS encrypts DNS lookups; it does not hide your IP address from websites or streaming services.
  • NextDNS can log DNS activity if logging is enabled in your account. Review the Settings and Privacy options and choose a retention policy that fits your needs.
  • A VPN may replace or bypass the system DNS configuration.
  • A device manufacturer or app can change behavior after a software update, so verify the connection again after a major update.
  • Disable ADB debugging when you finish. There is no reason to leave it available during normal streaming.

Conclusion

There you have it! Whether the Private DNS option is visible in Settings or hidden by an Android TV interface, the goal is the same: save your configuration-specific NextDNS hostname and verify that the device is actually using it.

For a phone or tablet, the on-screen menu is usually all you need. For an NVIDIA Shield, Google TV device, Android TV box, or compatible television that hides the setting, ADB gives us a practical way to reach the same Android feature without rooting the device.

Take your time, copy the exact hostname from NextDNS, verify the result, and turn debugging off when you’re finished. That little extra check is what turns a copied command into a secure, dependable setup.