[转载]安卓软件去广告教程

2013-09-19 21:14:55 -0400
一、软件的广告原理: <br>  ★1、一个软件若要显示广告,需要先导入SDK,并在AndroidManifest.xml中注册。  res\layout目录内的xml文件就包含有广告界面的配置代码,修改这些代码就可以去除广告界面。  另外还要屏蔽广告下载源,不然只是单单不显示广告界面而已,软件还会下载广告所需的数据,耗费流量。 

★2、目前Android的广告供应商有两个,一个是Admob,一个是Google Ads,前者已被后者收购,但两者SDK依然独立。 
【广告代码】
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” /> 

【广告下载源】
  Admob的广告下载源: 

http://r.admob.com/ad_source.p  http://mm.admob.com  http://api.admob.com 

Google Ads的广告下载源:

  http://pagead2.googlesyndicati 

有米广告下载源:

  http://www.youmi.net 

其它广告下资源: 

http://www.casee.cn 

http://www.vpon.com 

http://www.wooboo.com.cn

 二、 去广告步骤: 


1、安装java模拟环境:
http://www.java.com/zh_CN/down 

2、修改的apk软件改为英文名称 


3、去除广告下载源 

①解包classes.dex:

注:解包工具smali/ baksmali

②分别有WinXP和Win7对应的版本,按自己使用的系统选择。将Xtemp文件夹复制到D盘根目录。

③将classes.dex文件从apk安装包里拖出来,放到刚刚的Xtemp文件夹内,


④若是WinXP用户,用鼠标将classes.dex文件拖到undex.bat文件上,会弹出CMD命令窗口自动解包classes.dex文件,完成会提醒按任意键关闭窗口;若是Win7用户,双击dex.bat文件,按提示操作即可。


⑤解包成功后,Xtemp文件夹内会多出classes文件夹。  2用Notepad++ Portable搜索广告下载源地址(若不知道软件用的是哪个供应商的广告的话,最好两家的下载源都搜索下): 。

⑥将广告下载源地址修改成无效的地址(例如0.0.0.0、192.168.1.1等)。


⑦完成后保存,重新打包classes.dex,拖回apk安装包替换原文件:  - 若是WinXP用户,右键Xtemp文件夹内的redex.bat文件,选择打开,之后会弹出CMD命令窗口自动重新打包,按任意键退出窗口。  - 此时Xtemp文件夹内多出了out.dex文件,这是重新打包后的classes.dex文件,将其文件名重命名为classes.dex。 

★4、去除广告界面 

①反编译解包apk安装包。(APKTool反编译刚刚已经替换了classes.dex文件的apk安装包)  -APKTool v1.3.2文件夹放至D盘根目录。将需要反编译的apk安装包放至APKTool v1.3.2文件夹内(以LauncherPro为例,文件名为LauncherPro.apk)

② 打开CMD命令行窗口(开始——运行,输入cmd,确认)  - 在命令窗口中输入命令,定位至APKTool v1.3.2文件夹,如图:  - 输入命令反编译apk安装包,如图(红色方框部分为反编译命令):  * 命令说明:

apktool d LauncherPro.apk launcherpro  - apktool d为反编译命令,其中d代表decode  - LauncherPro.apk为被反编译的apk安装包的文件名(可以自己定义)  - launcherpro为存放反编译后的文件的文件夹(可以自己定义) 


③用Notepad++ Portable搜索广告代码(上面已列出)  - 如图,将搜索路径定位到res文件夹(就是反编译后的res文件夹),代码只搜索开头就行了,如:com.admob.android.ads.AdView 和 com.google.ads.GoogleAdView。  如图:  - 搜索结果: 


④双击黄颜色区域,修改下图上方的代码 
android:layout_width=“fill_parent“ 

修改为

android:layout_width=“0.0dip“ 

android:layout_height=“wrap_content“
修改为 

android:layout_height=“0.0dip“

 ⑤ 修改后:  将所有搜索到的代码按照上面修改,完成后保存。用APKTool重新编译打包。  在刚才的命令窗口输入如下命令, 


★ 命令说明:

apktool b launcherpro  - apktool b为重新编译命令 , launcherpro为需要编译的目录(就是存放刚刚反编译后的文件的文件夹,名称可以自定义)

⑥ 重新编译完成后,launcherpro文件夹内会新增一个dist文件夹,里面的LauncherPro.apk文件就是重新编译好的apk安装包。 

⑦签名。  删除原证书文件后(META-INF 文件夹内的***.RSA、***.SF、***.MF三个文件),打开AndroidResEdit——签名——签名apk文件,选择需要签名的apk安装包后点击“立即签名”即可。 

♥三、 注释:  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像素,等于不显示,达到了去广告窗口界面的目的。

[楼主]-传说中的残夜**
«Newer      Older»
Comment:
Name:

Back to home

Subscribe | Register | Login | N