[Android]彻底去除Google AdMob广告

    应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了。

    以下就以Google AdMob广告为例,看怎样彻底去除他。

 

    先分析一下Google AdMob的工作方式。

    Google AdMob采用注册并嵌入到布局的方式,来避免与应用耦合。于是,去除也就是反过来处理就行了。

 

    1.首先必须要做的,就是反编译apk,我们都喜欢用apktool。

    2.去掉Google AdMob的注册。在反编译文件夹中的AndroidManifest.xml中,一般在application节点的最后部分找到类似下面的代码,把这两行去掉。

<meta-data android:name="ADMOB_PUBLISHER_ID" android:value="XXXXXXXXXX"/>
<activity android:configChanges="XXX|XXX|XXX|XXX|XXX" android:name="com.google.ads.AdActivity"/>

    3.去掉Google AdMob的布局。在反编译文件夹的res\layout的所有布局xml文件中搜索,搜索包含com.google.ads.AdView的文件,类似如下:

<XXXXXX xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads">
...
    <com.google.ads.AdView android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="XXXXXXXXXX" ads:loadAdOnCreate="true" />
...
</XXXXXX>

    去掉com.google.ads.AdView整个节点。这里注意,去掉AdView节点后如果发现应用没有把原来显示广告的位置撑满,还要修改该xml下其他节点的layout_width或layout_height以使其撑满界面。

    同时也去掉根节点上xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"这个属性。

    到这里为止,广告去除工作基本告一段落,但还不够完美。因为尽管广告没有启动,没有显示,但用安全软件依然能查出应用中包含广告,那是因为应用中还包含了Google AdMob的代码,于是我们还得继续把他去掉,这样才是彻底。

    4.去掉Google AdMob包。这个就简单了,直接把反编译文件夹的com\google\ads文件夹删掉即可。

    5.最后用apktool重新编译,然后签名,上传至手机安装并运行,看看效果。

    

    转载请注明原文地址:http://www.cnblogs.com/litou/p/3541374.html 

posted @ 2014-02-09 13:13 泥头 阅读(...) 评论(...) 编辑 收藏