Android软件去广告教程

  Android软件、游戏等应用装了不少,大多数优秀的免费软件中,真正完全免费的应用确是不多,有不少游戏和软件中内置了广告。

  这些广告对于开发者而言,是维持开发运营的收益的一种体现,不过对于用户来说,一些过分的广告,却适得其反,增大了用户的反感,减少了用户体验,这种应用其实也不在少数,废话不多说了,开始进入正题,怎么样才能快速的去除那些顽固的广告呢?接下来看看就知道。注意:此文仅作为技术交流讨论所用,请勿用于其他用途!

  由于很多软件内置广告的形式不一,此次仅以最为简单的形式开始我们的教程。当然要先准备一个APK反编译工具对APK进行解包。为了方便大家,还是提供一下主要的好了。apktool下载地址:http://code.google.com/p/android-apktool/

  搜索和替换工具很重要,建议使用Search and Replace,此工具不仅速度快,重要的是支持对文件和文件夹搜索和替换,当然EmEditor也是个不错的选择,这个主要看大家习惯而定。

  现在最为简单的广告是以嵌入式为主,即在主程序标签浮动加载一个广告条,知道了原理去除也就容易了。这里我们以最近的一款游戏Dragon Fly为例子,开始我们的教程。我们在解开APK到的文件夹,搜索“http://”,在搜索结果列表框内,我们可以看到很多搜索到的内容,搜索到的结果中有一个文件很醒目:AdView,此文件中包含的既是加载广告的脚本,将其中的四行脚本"http://schemas.android.com/apk/lib/com.google.ads"替换为"",既可以屏蔽掉广告的加载和显示。是不是很简单呢?

点击查看原图

  需要注意的是:Android应用中的内置广告是延续开发的一种维持,希望大家能理解。此文仅作为技术交流讨论所用,请勿用于其他用途。

  这里以某音量控制软件为例吧,前一篇教程的方法对它似乎并无效果,界面上广告依旧,修改过多直接就FC了。其实换个思路想想,明白广告注册机制的原理,就可以另辟蹊径的去除烦人的广告。

  开始正式的例子之前,先普及一些知识。目前较为常见的是Admob和Google Ads,虽然前者已被后者收购,但是目前其SDK仍旧独立。

  Admob广告需要导入AdMob Android SDK,并在AndroidManifest.xml内注册,在相应layout内创建元素。

  *Admob的广告下载源为:http://r.admob.com/ad_source.phphttp://mm.admob.comhttp://api.admob.com

  Google Ads的SDK已经包含在Android SDK内,也同样需要在AndroidManifest.xml内注册,在相应layout内创建元素。

  *Google的广告下载源为:http://pagead2.googlesyndication.com/pagead/afma_load_ads.js

  既然广告的SDK需要在AndroidManifest.xml中注册,那就看看这个文件。纵观文件,在文件尾部的节点中看到了“activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"”,只有这个部分和广告内容相关,那么把这个节点删掉,应该可以屏蔽广告的注册,也就可以屏蔽广告的加载与显示。

  删除后,打包,签名,安装,测试,果不其然,广告没再出现。

  去广告的原理很简单,之前的教程是屏蔽广告下载,这个可以适用于大多数应用,碰上顽固的可以考虑此次的方法,即在AndroidManifest.xml中屏蔽掉广告注册。

本文转自:寒星博客

如果您觉得我的文章有帮助,请随意赞赏!

*发表评论

用QQ账号登录  请登录后发表评论