有一种错误的理解认为,如果用户从来不点击广告,那么屏蔽这些广告不会损害网站或者应用的利益。这是不对的,因为开发者只是显示也是有钱可以赚的。所以是否屏蔽广告由你决定。就我个人来说,我不会使用带广告的应用,因为我觉得它们很讨厌,所以如果没有一个广告屏蔽程序我不会安装这样的应用。
AdAway使用hosts 文件来屏蔽广告主机名。hosts文件是一个保存主机名到IP地址的映射的文件, 可以在/system/etc/hosts找到。这是一种传统的不依赖域名解析系统(DNS)的定义主机名到IP地址对的方式。AdAway通过修改hosts文件把所有的不想访问的主机名都重定向到127.0.0.1,也就是你的设备的本机地址。
Android的Java自己维护着一个内部的DNS缓存。操作系统会立即对新的hosts文件作出反应(你可以在命令行上用ping来验证这一点),但是你需要重启动你的Android来重建Java的DNS缓存。
注意AdAway不需要web服务器也可以工作!
你可以在AdAway设置里面启动本地web服务器来响应发到本地IP地址127.0.0.1的请求。意思就是说应用中的对广告服务器的请求会被重定向到127.0.0.1由AdAway的web服务器来响应。
因为有些应用不能访问广告服务器的时候他们就不能用。使用这种方法后,它们以为访问到广告服务器了,只是没有返回广告图片或者返回空白网页而已。
你可以配置你自己的服务器来提供一个包含你想要屏蔽的主机名的hosts文件并且把它添加到你的Hosts源里中,或者添加你想屏蔽的主机名到黑名单(黑),在你的名单菜单中。你还可以,把你不想屏蔽的主机名添加到白名单(白)中,或者把你想要重定向到的IP地址添加到重定向列表(重定向)中。
请查看List of additional hosts sources for AdAway。
请反馈到 bug tracker of AdAway。