如何在Android应用程序中屏蔽广告?


26

是否有尝试阻止应用程序中广告的方法?从理论上讲,似乎可以做到这一点,例如,通过阻止对某些站点的Web请求。


2
谷歌已经开始从Play商店中移除广告拦截应用程序:droid-life.com/2013/03/13/...
强麦

Answers:


15

最受欢迎的方法是用一种强制将DNS查询到知名广告服务器的DNS替换为127.0.0.1(localhost)的方法来替换内置的host文件。这样可以有效地阻止大多数常见广告以及应用程序中的大多数Google Ads。

不利的一面是,应用程序可以告知广告被阻止,并且可以在广告阻止生效时拒绝运行或降低其有效性。

另外,需要root用户访问权限才能替换hosts文件。

除此之外,我还没有发现任何可以选择性阻止任意应用程序的Web请求的东西。对于某些仅将互联网访问用于广告的程序,您可以使用防火墙应用程序阻止它们访问互联网,或者-如果您的ROM支持(例如最新的CyanogenMod),则可以从该应用程序撤消互联网访问权限。

同样,通常需要root用户访问权限才能设置系统范围的应用程序级防火墙或替换ROM。


4
请注意,有适用于此的应用程序,例如“ Ad Free Android”或“ AdAway”。搜索可以快速找到它们。
马修·

1
IMO最好重定向到0.0.0.0
Broam,2011年

9

从理论上讲,在所有应用程序中,都有两种不同的应用程序(AdFree AndroidAdAway)阻止广告。要使用这些电话,您必须拥有根电话。

AdFree Android由

...使对系统主机文件中已知主机名的请求无效。

从本质上讲,这是一个修改主机文件的自动化解决方案,由另一个用户在此处提出。看来Adaway做同样的事情。

如果您没有手机,则至少可以将Firefox浏览器与Adblock Plus插件(通过Firefox安装)一起使用。


4

您还可以使用防火墙或权限限制应用程序(例如DroidWall或LBE Privacy Guard)来限制特定应用程序的Internet访问。这些也需要root。


3

要禁用广告,您必须了解广告的实际来源。有易于识别的广告服务器,可以通过编辑主机文件来轻松避免这些广告服务器(您可以通过ES文件管理器在根电话上或在本地或笔记本电脑/台式机的终端会话中在托管电话上编辑主机文件)。

但是,当广告服务器继续拥有随机的子域时,继续追赶那些更新的服务器可能是一件很麻烦的事。有一些应用程序(先前提到过)可以帮助简化该任务-但仍然是与广告打交道然后阻止新服务器的相同解决方案。如果ip地址被硬编码,则这些方法均无效。这就是王牌。

另一个选项是启用拒绝特定应用程序任何流量的防火墙。这意味着:更新,广告,推送统计信息等...不要使用您的数据计划,也不要占用您的手机。阿瓦斯特!移动安全(在市场或Play上免费)可让您在需要时进行精细控制。我在台式机和服务器上使用过Avast,并在根目录Gingerbread和CyanogenMod9(ICS)上运行了它。很好的应用。


3

除了基于DNS / IP地址的广告拦截器外,我还建议使用MinMinGuard(需要有根电话和Xposed框架)。它具有基于API的阻止功能,可阻止广告网络SDK提供的功能调用。

MinMinGuard是使用Xposed Framework for Android制作的广告删除程序。MinMinGuard可以完全删除应用内的广告以及由这些广告引起的空白区域。传统的移除广告的应用只能阻止广告内容,但广告所占用的空间仍保持未使用状态(黑色)。MinMinGuard成功消除了该黑色空间,从而扩展了应用程序窗口,并使您的用户体验更好!

特征:

  • 完全删除广告。您会注意到,AdBlock和AdAway仅停止显示广告内容,但不能删除广告最初采用的空白字段。MinMinGuard可以完全删除空白字段!
  • 轻巧。替代性广告删除应用程序(AdBlock等)不断运行后台VPN服务,这给系统带来了沉重的负担。MinMinGuard不需要运行VPN服务,因此可以节省系统资源,从而延长了电池寿命。
  • 每个应用程序设置。通过MinMinGuard,您可以选择要从中删除广告的应用。如果您只想从多个应用程序中删除广告,那么MinMinGuard是您最好的解决方案。

MinMinGuard屏幕截图


2

Adblock Plus现在可用于Android。

以下是Lifehacker的评论摘要

如果您喜欢台式机上的Adblock Plus,现在就可以在Android手机上随身携带它。适用于Android的Adblock Plus在您浏览时甚至会阻止网站上的广告,甚至在支持广告的应用程序中隐藏广告。最重要的是,它是完全免费的。

适用于Android的Adblock Plus不需要root访问手机即可禁止显示广告,但是如果您的设备已植根,则效果最佳。如果您已扎根,它将抑制3G / 4G和Wi-Fi上的广告,而无需其他配置。如果您不扎根,并且正在运行Ice Cream Sandwich,它将阻止通过Wi-Fi而非3G / 4G的广告。如果您的设备运行的是Gingerbread或更早的版本,则必须手动设置Adblock的代理才能正常工作。说到代理,这就是Android版Adblock Plus设法剥离所有这些广告的方式:它通过您的服务器路由所有流量,并在广告进入手机之前将其删除。


文章还指出:“ ..值得注意的是,如此众多优秀的Android应用仍然免费的唯一原因是广告支持开发人员……”如果太多的人阻止了Android应用中的广告,那么品质的免费应用。
ale

1

尽管不完整,但我有一个适合我的解决方案。我已经在局域网中配置了dnsmasq dns服务器,以便将0.0.0.0作为对一组指定的广告主机名的响应。

优点是,我有一个解决方案可以同时为平板电脑和手机修复此问题,而无需将它们中的任何一个都扎根。缺点是只能在我的wifi上在家中使用。


1

我喜欢防火墙方法。最近安装了NoRoot防火墙,并且通过反复试验发现,如果我阻止对l [ab] -in-f [0-9] {3} \。1e100 \ .net的访问(实际上,该应用程序不支持地址),则广告无法通过。


1

我之前遇到过类似的问题,并且现有的应用程序都无法解决我的问题,此外,我无法根据我的公司电话制定适当的政策。然后我意识到您可以为每个连接(wifi和4g)分别配置代理。因此,我安装了一个鱿鱼,配置为阻止大多数烦人的广告网站,并部署在docker中。长话短说:

docker run -d -p 3128:3128 --name squid-adblock andrassebo/squid-adblock

然后在电话上配置代理以使用主机IP地址和3128作为端口。

如果您想检查详细信息或只是编译自己的映像,可以在GitHub:source和DockerHub:images上找到源代码。


0

最新的Android电子市场应用程序(我第一次注意到该选项是3.15)具有一个选项,可让您阻止Google或AdMob广告跟踪您并根据您的兴趣个性化广告。如果您只想停止这些,那就只是一个复选框。

打开市场应用程序,Menu向下滚动至其他设置标题,您将在其中看到以下内容:

Google AdMob广告:根据我的兴趣个​​性化广告

选择是否在此设备上的移动应用中个性化来自Google和AdMob的广告。学到更多

只需从该复选框中删除勾号即可:

选择退出

如果您选择退出,则您的设备标识符信息将不会被Google用作以后的广告,并且您也不会收到基于您的兴趣或推断的受众特征的广告。


2
我并不是说您根本不会收到广告,只是说您不会收到有针对性的广告。
ale

@AlEverett没错,这就是为什么我说“ 跟踪您并根据您的兴趣个性化广告。如果您要停止的话 ”,还值得注意的是它也仅适用于Google / AdMob / Android默认广告服务,如果某个应用正在投放第三方广告,则该选项将无法执行任何操作。
GAThrawn 2011年

我只是在增加清晰度。
ale

-2

答案是:理论上是,实际上是否。自问题问世以来已经过去了几年,但广告软件变得更糟了。

“屏蔽广告”的最佳方法是“摆脱产生广告的代码”。这很难实现,因为这将需要摆脱与当前世界的经济模式和企业家精神有关的广告软件根源。这就像让世界各地的人们重新生活一样,对广告做出非常大胆且最终的反应:“要么不做广告,要么不使用android os / devices”。这可以通过对儿童的教育,通过播种强大的想法来实现,例如“广告是一种犯罪,例如色情/盗窃/欺骗和投机/恐怖主义/毒品” ……这样,经过几代人的使用,广告软件最终都会饿死,因为任何“与广告相关的活动”是指将被视为 并应缴纳巨额罚款,而发布广告的人则被判入狱。

还有另一种更快的方法:创建一个小组,该小组将开发与android基本上相同的android替代固件,但是使用许可条款明确禁止使用广告,甚至禁止使用某些禁止/防火墙引擎,并将其嵌入到系统中并轻松用户可调。良好的实现将非常昂贵,并且将其花费在一部非常单一的电话上也需要时间。但这肯定会迫使android社区做出反应。

那是一些有效的方法,但是任何真正的行动都应该涉及Google,Google应该“改变主意,变得白皙蓬松”,以便真正摆脱android中的广告软件。使用当前的世界经济模型,这是极不可能实现的。


抱歉,但这不能帮助我们立即解决问题。我们倾向于避免意见,因为我们不是论坛。请考虑提供针对该问题的技术解决方案,即使只是安装应用程序并使用它来阻止广告
Firelord

@Firelord Pease,请重新阅读问题标题:没有什么比“这仅仅是关于安装应用程序”更多的了。另外,“这对我们没有帮助”-谁是“我们”?您代表某个组织吗?请使用正确易懂的措辞。
xakepp35

@Firelord好的答案不是关于开发应用程序,而是关于“不开发由人为错误开发的内容”。没有应用程序可以解决这个问题。正确的技术解决方案是:在下个世纪度过,以这种方式改变人们的想法,使人们不会参与开发/使用广告软件。添加与广告相关的内容-固件,操作系统,库等-可能会被放弃。步骤可能涉及政治,通知,教育等。“会不会被带走?” /“简单的解决方案还是艰难的解决方案?” -这些不在讨论范围之内。但这是一个解决方案,并且仅是正确的解决方案。
xakepp35 '18

你是对的。当前世界上主要基于资本主义的政治经济体系与竞争并因此与广告紧密相关。但是在我们的情况下,“实际上不”吗?不。过去几年来,我没有在自己的设备上看到一个广告(如果我没有错过任何一个广告)。我唯一要做的就是DNS过滤。
Irfan Latif
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.