Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

Are there any applications that attempt to block ads in applications? It seems that it should be theoreticaly possible, by blocking web requests to certain sites, for example.

share|improve this question
1  
Google is starting to remove ad blocker apps from the Play Store: droid-life.com/2013/03/13/… –  Al E. Mar 13 '13 at 20:30

8 Answers 8

up vote 12 down vote accepted

The most popular method is replacing the built-in hosts files with one that forces DNS queries to well-known ad servers to result in 127.0.0.1 (localhost). This effectively blocks most common ads, and most of the Google Ads in applications.

The downside is that applications can tell that ads are being blocked, and can either refuse to run or otherwise degrade their usefulness while the ad blocking is in effect.

Also, root access is required to replace the hosts file.

Beyond that, I haven't seen anything that can selectively block web requests for arbitrary apps. For some programs that only use internet access for ads, you could use a firewall app to prevent them from accessing the internet or -- if your ROM supports it (like the latest CyanogenMod) -- revoke the internet access permission from the app.

Again, root access is generally required to set up a system-wide app-level firewall or replace your ROM.

share|improve this answer
4  
Note that there are apps for this, e.g. "Ad Free Android" or "AdAway". A search turns them up quickly. –  Matthew Read Oct 6 '11 at 17:27
1  
IMO It's better to redirect to 0.0.0.0 –  Broam Oct 6 '11 at 20:45

I like the firewall approach. Recently installed the NoRoot Firewall and by trial and error found that if I block access to l[ab]-in-f[0-9]{3}\.1e100\.net (actually, the app doesn't support regex in addresses), ads don't get through.

share|improve this answer

Adblock Plus is now available for Android.

Here's a snippet from Lifehacker's review:

If you love Adblock Plus on the desktop, now you can take it with you on your Android phone. Adblock Plus for Android blocks ads on sites while you browse and even suppresses ads inside of ad-supported applications. Best of all, it's completely free.

Adblock Plus for Android doesn't require root access to your phone to suppress ads, but works best if your device is rooted. If you're rooted, it'll suppress ads over 3G/4G and Wi-Fi with no additional configuration required. If you're not rooted and you're running Ice Cream Sandwich, it'll block ads over Wi-Fi but not 3G/4G. If your device is running Gingerbread or earlier, you'll have to set up Adblock's proxy manually to get it to work. Speaking of proxies, that's how Adblock Plus for Android manages to strip out all of those ads: it routes all of your traffic through their servers, and removes the ads before it gets to your phone.

share|improve this answer
    
The article also notes: ".. it's important to note that the only reason so many great Android apps remain free are because the ads support the developers..." If too many people block the ads in Android apps, there will be fewer high-quality free apps. –  Al E. Nov 27 '12 at 14:20

To disable ads, you have to understand where the ads actually come from. There are easy-to-identify ad servers, and those can be easily avoided by editing your hosts file (you can edit hosts file on a rooted phone through ES file manager, or from a terminal session be it local or from your laptop/desktop).

But when the ad servers keep having random subdomains, that can be a real chore to keep chasing those updated servers. There are applications (previously mentioned) that help to ease that task--but it still is the same solution of getting hit with ads--and then blocking the new servers. None of those methods work if the ip address gets hardcoded in. That is the trump card.

Another option is to enable a firewall that denies ANY traffic for a specific application. That means: updates, ads, pushing your stats, etc...don't use your data plan and don't tie up your phone. Avast! Mobile security (free on marketplace or Play) gives you granular control when you want it. I have used Avast on desktops and servers, and run it on rooted Gingerbread and CyanogenMod9 (ICS). Very good appl.

share|improve this answer

Although incomplete I have a solution in place that is sufficient for me. I have configured the dnsmasq dns server in my lan to serve 0.0.0.0 as the response to a specified set of advertising hostnames.

The pro is that I have one solution that fixes this for both my tablet and my phone without the need to root either of them. The con is that it only works at home on my wifi.

share|improve this answer

There are two different apps, AdFree Android and AdAway that block ads, theoretically in all applications. You must have a rooted phone in order to use these.

AdFree Android works by

...nullifying requests to known host names in the system hosts file.

which is essentially an automated solution of modifying the hosts file, brought up by another user here. It appears that Adaway does the same thing.

If you do not have a rooted phone, you can, at the very least, use the Firefox Browser with the Adblock Plus AddOn (installed via Firefox).

share|improve this answer

You can also use a firewall or permissions-limiting application (DroidWall or LBE Privacy Guard, for example) to limit internet access for particular applications. These also require root.

share|improve this answer

The latest Android Market app (I have 3.15 which is the first time I've noticed the option) has an option to allow you to prevent Google or AdMob ads from tracking you and personalizing the ads to your interests. If that's all you want to stop, then it's just a tickbox away.

Open the Market app, pressMenu scroll down to the Other Settings heading where you should see:

Google AdMob Ads: personalize ads based on my interests

Choose whether to personalize ads from Google and AdMob in mobile apps on this device. Learn more

Just remove the tick from that tickbox to:

Opt out

If you opt-out, your device identifier information will not be used by Google for advertising going forward and you will not receive ads based on your interests or inferred demographics.

share|improve this answer
1  
I don't think that's to say you won't receive ads at all, just that you won't receive targeted ads. –  Al E. Oct 6 '11 at 14:43
    
@AlEverett That is true, which is why I said "tracking you and personalizing the ads to your interests. If that's all you want to stop" it's also worth noting that it also only works for the Google/AdMob/Android default ad services, if an app is serving 3rd party ads that option won't do anything. –  GAThrawn Oct 6 '11 at 14:46
    
I was just adding clarity. –  Al E. Oct 6 '11 at 14:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.