方法一:利用安全软件蔽广告
Android设备同PC一样,也有很多安全软件。在Android上,安全软件有很多,比较知名的有LBE安全大师、360手机卫士、腾讯手机管家、网秦安全等等,大都具备了屏蔽App的广告。我们就以LBE安全大师为例,看看它是怎么屏蔽广告的。
我们首先在LBE安全大师中找到“广告拦截”功能(最好首先点击“更新”将广告样本库升级为最新版,升级之后可以在顶部看到以日期命名的样本库版本号),在其中点击“广告扫描”,软件会自动开始扫描手机中的所有APP,很快就可以将嵌入了广告的APP罗列出来。找出嵌入广告的APP之后,可以直接卸载或者屏蔽广告
接下来让我们试试它的广告拦截功能,任意点击其中一个APP,就可以看到它的广告行为,包括弹窗广告、通知栏广告等(在此还可以顺便查看这个APP的敏感权限,如拨打电话、获取位置等),直接点击右下角的“屏蔽广告”,然后重新运行这个APP,就会发现讨厌的广告条消失了。
处理过后,广告不见了
方法二:设置联网权限屏蔽广告
但是,有个别APP使用LBE安全大师无法直接屏蔽广告,还可以用其他方法去封杀广告——大部分广告都需要访问网络,我们可以限制其权限,让它无法联网,从而达到屏蔽广告的目的。
在LBE安全大师中的“流量监控”中,有个“联网权限”功能(需ROOT),我们可以在这里,找到需要处理的APP,将它的WiFi链接和数据链接(即2G、3G网络)权限关闭。
不过,这个方法并不完美,会出现两种问题,一是如果软件本身需要联网(如在线播放类APP),则无法使用;二是在限制访问网络之后,某些APP会在原来广告的位置留下难看的空白框,同样让人不舒服。
方法三:自己打造干净的APK文件
既然黑心开发者可以在APP的安装程序中(APK文件)嵌入广告,那么我们能否反其道而行之,将广告赶走呢?接下来我就教大家一个绝招——将广告清理干净之后再安装。
这种方法,大致思路就是,反编译(编译可以理解为将源代码转化为可运行的程序,反编译就是将程序转化为源代码)APK文件,然后修改XML文件(一般情况下是在反编译出来的res文件夹中的main.xml,通常在layout文件夹,有时候也会放在其他文件夹)将广告信息去掉,最后重新编译为新的APK文件。
下面让我们说说具体的操作过程,首先你需要在电脑上安装Java环境(可以在www.java.com下载并安装),然后在http://go.icpcw.com/e/15app.htm下载apktool。解压aptool.jar到c:windows,解压apktool-install-windows.zip到任意文件夹(例如D盘根目录)。
运行命令行提示符,用cd命令转到apktool-install-windows所在文件夹(如cd d:/ apktool)。如被嵌入广告的安装文件名为abcd.APK,执行如下命令将abcd.apk反编译到文件夹abcd:
apktool d abcd.apk ABCD
现在打开abcd文件夹,在其中的res文件夹找到main.xml,接下来用记事本来打开,按下“Ctrl+F”找到fill_parent和wrap_content,并将它们都替换为0.0dip,保存退出,再输入以下命令重新编译:
Apktool b ABCD
接下来你就可以在ABCDdistout.apk路径下找到重新生成的APK文件了,最后用APKsign等工具为APK文件签名即可使用。