怎么给apk删除广告

如题所述

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


目前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.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搜索广告下载源地址(若不知道软件用的是哪个供应商的广告的话,最好两家的下载源都搜索下)。

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

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



2、去除广告界面

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

② 用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重新编译打包,可签,安装即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-21
有一种是安装好了通过钛备份里面的移除广告功能
第2个回答  2012-04-09
这个相当的要技术含量
你可以联系专业人士帮你操作。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网