电脑技术网 - 从此开始了解电脑、科技、手机、智能硬件、网络相关的各项适用知识!

电脑技术网_it资讯_游戏攻略_手机教程_电脑教程_无线路由器设置_设置无线路由器_办公软件教程_电脑系统安装_电脑维修知识

安卓软件广告去除方法

本文主要介绍:安卓手机软件中的广告怎么屏蔽?安卓手机软件中的广告怎么屏蔽?用智能手机的小伙伴都知道,软件中都有很多广告,不小心按到还会直接进入那个网站,神烦的狠。小编受不了这样的
  安卓手机软件中的广告怎么屏蔽?安卓手机软件中的广告怎么屏蔽?用智能手机的小伙伴都知道,软件中都有很多广告,不小心按到还会直接进入那个网站,神烦的狠。小编受不了这样的情况,网上很早了很多教程,现在大家分享一下。

  先了解下软件的广告原理

  一个软件若要显示广告,需要先导入SDK,并在AndroidManifest.xml中注册。

  reslayout目录内的xml文件就包含有广告界面的配置代码,修改这些代码就可以去除广告界面。

  另外还要屏蔽广告下载源,不然只是单单不显示广告界面而已,软件还会下载广告所需的数据,耗费流量。

  目前Android的广告供应商有两个,一个是Admob,一个是Google Ads,前者已被后者收购,但两者SDK依然独立。

  - 广告代码

  Admob的广告代码为:

  android:id=”@+id/ad”

  android:layout_width=”fill_parent”

  android:layout_height=”wrap_content” />

  Google Ads的广告代码为:

  android:id=”@+id/adview”

  android:layout_width=”wrap_content”

  android:layout_height=”wrap_content” />

  - 广告下载源

  Admob的广告下载源:

  http://r.admob.com/ad_source.php

  http://mm.admob.com

  http://api.admob.com

  Google Ads的广告下载源:

  http://pagead2.googlesyndication.com/pagead/afma_load_ads.js

  * 去广告步骤:

  1、去除广告下载源

  - 解包classes.dex(方法上面已讲过),用Notepad++ Portable搜索广告下载源地址(若不知道软件用的是哪个供应商的广告的话,最好两家的下载源都搜索下),如图:

121.jpg

  - 搜索结果如下:

122.jpg

  - 将广告下载源地址修改成无效的地址(例如0.0.0.0、192.168.1.1等),如图:

123.jpg

  - 完成后保存,重新打包classes.dex,拖回apk安装包替换原文件。

  2、去除广告界面

  ① 将刚刚已经替换了classes.dex文件的apk安装包用APKTool反编译。

  ② 用Notepad++ Portable搜索广告代码(上面已列出)

  - 如图,将搜索路径定位到res文件夹(就是反编译后的res文件夹),代码只搜索开头就行了,如:com.admob.android.ads.AdView 和 com.google.ads.GoogleAdView。

  如图:

124.jpg

  - 搜索结果:

125.jpg

  ③ 双击黄颜色区域,修改下图上方的代码

  android:layout_width="fill_parent" 修改为 android:layout_width="0.0dip"

  android:layout_height="wrap_content" 修改为 android:layout_height="0.0dip"

126.jpg

  点击在新窗口查看全图 CTRL+鼠标滚轮放大或缩小

  修改后:

127.jpg

  点击在新窗口查看全图 CTRL+鼠标滚轮放大或缩小

  - 将所有搜索到的代码按照上面修改,完成后保存,用APKTool重新编译打包,可签,安装即可。

  * 再作下解释:

  android:layout_width="fill_parent" 修改为 android:layout_width="0.0dip"

  android:layout_height="wrap_content" 修改为 android:layout_height="0.0dip"

  之所以这么修改,是因为要让广告窗口不显示,android:layout_width定义的是广告窗口的宽度,android:layout_height定义的是广告窗口的高度,0.0dip代表0像素,将两者后面的值修改为0.0dip,那么高和宽都是显示0像素,等于不显示,达到了去广告窗口界面的目的。

相关推荐Related Recommendations