爱黑武论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 33680|回复: 23

[安卓技术] 强效去除Android手机软件内置的广告

  [复制链接]
发表于 2012-6-27 16:19 | 显示全部楼层 |阅读模式

立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!

您需要 登录 才可以下载或查看,没有账号?注册

x

  近来,“Android手机中的广告更新消耗手机大量电力”之类的说法多在网上出现,再度唤起米饭对软件中的广告的重视。抛开耗电不说,软件画面中充斥的大量“视觉垃圾”,这些“污垢”总是在不知不觉中影响米饭的心情。是时候动手去“收拾”这些广告了,还Android世界以清净。

1、软件中显示广告的原理

  广告在软件中显示,需要在软件中导入SDK,并在AndroidManifest.xml中注册。软件安装文件中的res\layout目录内的xml文件包含有广告界面的配置代码。要屏蔽软件中的广告,只需屏蔽安装包里的广告下载源,让其无法更新;修改配置代码,让广告界面消失。下面随MI一起来看看自己动手修改代码和使用软件屏蔽这两种异曲同工的方法吧。

2、改代码 一劳永逸

  古语有训,授人以鱼不如授人以渔,只有从原理上了解Android系统软件中内置广告产生的原理,相对应地使用专业的手段屏蔽广告,这样才能成为真正的“广告杀手”!不过,前提是米饭的基本功足够扎实。

反编译

安装JAVA,下载地址为http://www.java.com/zh_CN/

下载并安装《Undex》;

使用WinRAR把Android的程序安装包(后缀名为“.APK”的文件)

在解压文件找到“classes.dex”,并复制到《Undex》下的“Xtemp”文件夹下;

  将“classes.dex”文件拖到“dex.bat”文件上,会弹出命令窗口,根据提示键入“1”继续(如图1),这时“Xtemp”文件夹下会自动生成一个“Classes”文件夹,里面就是反编译的代码。

去除广告下载源

下载并安装《Notepad++ Portable》软件;

  运行《Notepad++ Portable》,按下“Ctrl+f”快捷键调出搜索窗搜索广告下载源,切换到“文件查找”标签(如图2),目录定位到刚刚反编译的“classes”文件夹,“查找目标”里搜索广告下载源地址,若尚未不知道软件广告供应商,可以对多个广告下载源逐个进行搜索。在搜索到的结果上双击,然后将广告下载源更改为“0.0.0.0”(如图3)。重复以上操作将所有的广告下载源更改;

  保存更改,双击“Xtemp”文件夹下的“dex.bat”文件,然后根据提示选择“2”重新打包“classes.dex”,复制回原APK安装包。

目前Android的广告供应商有两个,一个是Admob,一个是Google Ads。它们的广告下载源分别为:

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.下载《APKtool》软件;
2.解压后,将“APKTool”文件夹移动至D盘根目录,同时将需要上步打包的APK安装包放到“APKTool”文件夹下,并重命名为“123.apk”,然后运行“apktool.bat”,在打开的命令行窗口键入“1”后并按回车键,对“123.apk”文件进行反编译后,保存到“APK”文件夹下;
3.使用《Notepad++ Portable》搜索广告代码,具体操作与前文类似,只是搜索路径定位到“res”文件夹(就是反编译后的res文件夹);
4.将搜索到的结果作如下修改:android:layout_width="fill_parent" 改为android:l a y o u t _wi d t h = " 0 . 0 d i p " , a n d ro i d :layout_height="wrap_content" 改为 android:layout_height="0.0dip",修改完成后保存。
5.运行《APKtool》的“apktool.bat”,在命令行窗口键入“ 3 ” 执行重新编译“APK”并签名,完成后在“APK”文件夹内会新增一个“dist”文件夹,里面的“123.apk”文件就是重新编译好的APK安装包。
6.将此安装包安装到手机上,烦人的广告便没有了。其实常见去广告版本的软件安装包大多都是根据这一方法实现的,米饭掌握后也可以制作去广告版的软件造福机油。

以下是常见的广告代码
Admob的广告代码为:
<com.admob.android.ads.AdView
android:id=”@+id/ad”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content” />

Google Ads的广告代码为:
<com.google.ads.GoogleAdView
android:id=”@+id/adview”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content” />

3、省心省力,借力软件屏蔽

  要省心,米饭可借助广告屏蔽软件进行屏蔽。《乐风防火墙》(下左图),只需一个按钮就可以搞定,方便有效。而且它支持在线更新,让最新的广告一样无处可逃,能够应对casee、admob 、youmi 、uc 、wiyun 、Google等提供的广告。另外,屏蔽过广告后,即便是卸载了《乐风防火墙》,照样有效。备选的广告屏蔽软件还有《AdAway广告拦截器》(下右图)。

  通过修改代码方式屏蔽广告,可以很好地屏蔽广告,且不留痕迹,对于初学者而言操作过程稍显复杂。而借助软件屏蔽,操作过程简单,稍显遗憾的是有时会留下空白的广告界面,不够完美。

软件下载地址

Undex:http://115.com/file/bewout9j

apktool:http://bbs.ihei5.com/thread-37125-1-1.html

Notepad++:http://bbs.ihei5.com/thread-173790-1-1.html

  虽说选择屏蔽广告软件,简单方便且有立竿见影的效果,但作为技术控的机油怎能错过这么一次大好的动手机会。相信通过自己动手修改代码,获得的没有广告的Android世界一定会让米饭心中充满自豪感。只有这样,凡事不怕麻烦,追根问底,米饭才能更多地获得“搞机”的乐趣。

《移动信息》2012年5月刊 撰文=坚如磐石 图片=坚如磐石


评分

2

查看全部评分

回复

使用道具 举报

发表于 2012-6-27 16:45 | 显示全部楼层
bucuo
支持一个
回复 支持 反对

使用道具 举报

发表于 2012-6-28 08:45 | 显示全部楼层
这个要顶,使劲儿顶!!!
回复 支持 反对

使用道具 举报

发表于 2012-6-28 09:18 | 显示全部楼层
疯顶,大侠级人物
回复 支持 反对

使用道具 举报

发表于 2012-6-28 21:34 | 显示全部楼层
谢谢夏夏哥的 好东西~~
回复 支持 反对

使用道具 举报

发表于 2012-6-28 21:46 | 显示全部楼层
第一个undex软件只支持32位系统,悲剧的我的64位不能用。夏夏哥写个64位的吧
回复 支持 反对

使用道具 举报

发表于 2012-8-11 19:27 | 显示全部楼层

楼主高人

楼主高人啊,我先收藏了。
回复 支持 反对

使用道具 举报

发表于 2012-12-8 23:35 | 显示全部楼层
要是有个一建删除软件就好了


回复 支持 反对

使用道具 举报

发表于 2013-1-21 00:10 | 显示全部楼层
哈哈哈 顶一个
回复 支持 反对

使用道具 举报

发表于 2013-9-13 21:06 | 显示全部楼层
{:soso_e179:}   顶顶。。。。。。。。。。。
回复 支持 反对

使用道具 举报

 Hello,黑武的好机友!回复想偷个懒?点这里: 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|Archiver|手机版|爱黑武论坛 ( 京ICP备2023028323号 | 京公网安备11011202000270号 )

GMT+8, 2024-4-16 12:24 , Processed in 0.061768 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, ihei5.com

快速回复 返回顶部 返回列表