I'm already using LBE Privacy Guard, AdAway and Droidwall to strictly control ads and app permissions. (All of them require root to run).

Droidwall has a whitelist where only apps that actually fetch data from the internet are allowed. (Games, system apps etc are blocked)

However I find some apps that are able to show ads even when they're not on the whitelist in Droidwall. How do they do it? Are they relying on some separate core system component to do this? My solution is to click on the ad and instantly hit 'stop' on the browser window that pops up, then adding the ad host to my hosts file.

I'd prefer a permanent solution, so that only apps requiring the internet are able to get through.

(Given a choice, I'd prefer a time bound full version or a feature restricted demo version to any form of adware, be it on Android or the desktop).

What Android system component do I block to completely disable in app ads?

| improve this question | | | | |
  • 2
    How do you know the ads aren't bundled with the app? – Matthew Read Feb 8 '12 at 16:51
  • If the app is not allowed to connect to the net and is still displaying ads, then it must be relying on something else that's not blocked by the firewall. – Rex Feb 9 '12 at 6:18
  • 1
    But it's one thing if they're static ads, they're not. Every time I open it, there's a different bunch of ads. So mustn't they be getting downloaded? – Rex Feb 10 '12 at 8:53
  • 1
    If you run a network monitor like Wireshark, you should be able to tell if the app is doing any net access. – offby1 Feb 11 '12 at 6:13
  • 1
    And if the app concerned has a payed pro version, buying that would probably get you rid of those ads. Think ybout how much time you take to investigate this issue -- and if this wouldn't be worth the few bucks the pro may cost ;) – Izzy Aug 10 '12 at 11:39

It's been 5 years since I asked this, and I've finally found a solution for rooted phones. Google Play Services is the culprit. You need an app that can disable individual sub-components of other apps. I use DisableService, so I'll use it as an example, you'll have to follow similar steps with other such apps.

  • Select Google Play Services from the list.
  • Look for and disable the following components - AdRequestBrokerService, AdvertisingNotificationService, AdvertisingIdService, AnalyticsService and AnalyticsUploadIntentService.

That's it. Other apps send requests to these services to display ads, and turning them off has no adverse effect on them.

| improve this answer | | | | |

Had similar problem disabled network access to Google Play Services. Ads gone after that. System seems to be working fine though.

| improve this answer | | | | |

If your phone is rooted, Install "Avast mobile security" and enable firewall. you can block internet access to any installed app. Its not about blocking ads. Its about blocking internet access. And its free.

| improve this answer | | | | |
  • He is doing the same but with other programs. – roxan Feb 9 '12 at 4:22
  • At least read my question fully before replying! – Rex Feb 9 '12 at 6:19
  • @Rex Sir... I've just mentioned how to completely block an app from accessing internet based on my experience.. and it was also a part of your question.... – thavan Feb 10 '12 at 18:21
  • 2
    My question relates to apps that get past both hosts file and firewall, since I already have a firewall! And obviously my phone is rooted if I'm using both of these! – Rex Feb 11 '12 at 18:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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