How To: Block Ads in All Your Android Apps Without Root or Extra Battery Drain

Block Ads in All Your Android Apps Without Root or Extra Battery Drain

If you're in the market for a non-root ad-blocker, developer Julian Klode has an app that you'll definitely want to check out. It uses Android's VPN system in a similar manner to alternative apps like NetGuard and AdGuard, but it's got a new twist that should save lots of battery life in the process.

Unlike its competitors, Klode's ad-blocking app works at the DNS level, meaning that it only filters traffic for a brief moment when connections are first made, which is where all of the battery saving comes into play. To top that off, it's completely free and open-source, so it's an instant contender for best no-root ad-blocker.


Step 1: Install DNS66

The app that will block all ads on your non-rooted device without excess battery drain is called DNS66, and it's available for free on the F-Droid Repository. This site is a trusted home for free and open-source Android apps, so tap the following link from your Android phone or tablet to begin:

From there, scroll down to the Packages section on the page, then tap the link that says "download apk." Next, simply tap the Download complete notification to launch the APK, then press "Install" when prompted.

Step 2: Choose Domain Filters

When you first launch the app, you'll be greeted by a set-up guide. Read through that if you'd like, but I'll cover the process below anyway.

To start, head to the Domain Filters tab at the bottom of the screen. From here, you'll have to pick at least one ad-blocking hosts file, which is basically a list of known ad servers that the DNS66 will block for you. I'd recommend selecting only the "Adaway hosts file" here, and you can do that by tapping the red dot to the left of this entry. When you've successfully enabled an ad-blocking hosts file, the adjacent dot will turn green.

Step 3: Enable the VPN Service

From here, head back to the Start / Stop tab from the bottom menu, then tap the refresh icon near the top of the screen. At this point, you'll see a notification that tells you the hosts file is downloading, so wait for that to finish. When it's done, long-press the power icon in the center of your screen to enable the VPN ad-blocking service, then press "OK" on the popup.

Step 4: Enjoy Your Favorite Apps Without Ads

From now on, ads will be blocked in your browser, as well as all of your other apps, thanks to DNS66's VPN service. When the service is active, you'll see a small key icon in your status bar, which should now be present at all times:

(1) IMDB app before DNS66. (2) IMDB app after DNS66 (note the key icon in the status bar).

Unlike other VPN-based ad-blockers, DNS66 blocks ads at the DNS level. This means that only DNS traffic is redirected through DNS66 and filtered for ads, as opposed to the method employed in similar apps, which filters all data traffic for ads.

What this boils down to is that all ads will be blocked system-wide—but, because only the tiniest bit of data is being filtered, DNS66 has a very minimal battery footprint. Compared to a similar app in Adguard (which filters ads in all traffic), you can see that DNS66 doesn't even show up in my battery stats, whereas Adguard ranks at the top of battery-draining apps:

(1) Battery stats with Adguard (at the top). (2) Battery stats with DNS66 (not listed as a battery-draining app at all).
Cover photo and screenshots by Dallas Thomas/Gadget Hacks


Doesn't work on my Nexus 5x

Which hosts file are you using? Is there a key icon in your status bar? It should definitely work on the 5X, so I'm not sure what's going on with it.

Does this VPN. Work like a traditional VPN and hide your IP address and personal information, or would I also need another VPN for that?


Unfortunately, no, it just blocks ads. If you're looking for a good privacy VPN, though, I'd recommend VPN by Private Internet Access. You do have to pay for the service, but it's super cheap ($3.33/month) and very reliable.

Blocks ads, but also stops updates installing from the Google Play Store. ??

This is a problem with most VPN services on Android. The only workaround I've found so far is to temporarily disable the service (Settings -> More -> VPN), which is kinda lame, but something I've grown accustomed to dealing with lately because there's no root method for my phone yet.

Doesn't work on my Xperia Z (C6603)

You can try badadjohnny for chrome as well. Coz this adblocker has anti malware feature as well

Installed it on s7, and it works perfectly.

I have an LG V20: I can't seem to get it to adblock the ads present on the Pandora app, any suggestions?

It doesn't seem to work on either my Samsung Galaxy S5 or Galaxy Tab 2 either.

Does not work on Galaxy Core Prime. I fucking hate Google for hacking this app and making it unusable.

Imo, this is a terrible idea. Say, tomorrow, DNS66 needs a botnet - your phone is part of it?! :o

Routing traffic without a firewall can't, possibly, be smart - right!? A hosts file works locally on a PC, why is this rocket science on Android.

It's open source. That's your guarantee that it can't go rogue without everyone knowing about it.

Helped block ads on only 1 app on my zte phone. Did nothing for any other apps. Anyone got any ideas next?

I've been using this for almost a year now with the default set of hosts files selected and from my experience it's hit or miss (mostly miss) with the apps that I have installed. It seems to block ads most effectively in your browser; for apps I would suggest something like Free Firewall, which is more tedious to set up but blocks ads in apps more effectively.

Share Your Thoughts

  • Hot
  • Latest