Android软件去广告教程

来源:互联网 发布:对对子软件在线 编辑:程序博客网 时间:2024/05/02 04:55

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

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

  由于很多软件内置广告的形式不一,此次寒星仅以最为简单的形式开始我们的教程。当然要先准备一个APK反编译工具对APK进行解包。

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

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

如果问为什么定位这个文件,多做尝试就知道了,嘿嘿。更多内容见下期。

  当然,最后一步就是编译一下然后重新签名,这样便得到了一个无广告的应用。

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

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

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

  *Admob的广告下载源为:http://r.admob.com/ad_source.php ;http://mm.admob.com ;http://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中屏蔽掉广告注册。

 

转载于百度经验:http://jingyan.baidu.com/article/363872ece61c4f6e4ba16ffa.html

原创粉丝点击