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

以下就以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

[Android]彻底去除Google AdMob广告的更多相关文章

  1. 彻底去除Google AdMob广告

    应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...

  2. Android Google AdMob 广告接入示例

    Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...

  3. Unity3d开发集成Google Admob广告增加收入

    在Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob, ...

  4. Google Admob广告Android全攻略1

    一.登录Google AdMob中文官网:http://www.google.cn/ads/admob/   ,注册帐号. 1.点击注册AdMob帐号 2.进入Google帐号注册页面,因为要创建一个 ...

  5. 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告

    我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...

  6. android应用中插入admob广告

    Step One  登陆admob,注册用户 直接登陆http://www.admob.com/,用google的账号登陆 Step Two 登陆admob后,在站点和应用程序选项中 选择并添加and ...

  7. Google Admob移动广告快速集成步骤

    Google Admob移动广告快速集成步骤 第一步:引入依赖包 //admob广告 implementation 'com.google.android.gms:play-services-ads: ...

  8. Unity3d Android程序嵌入Admob广告条

    原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140441353482/ Seems like using a simple A ...

  9. admob 广告Android不显示

    我弄个了ane,iOS上好好的,Android上打死不显示, 最后发现是少在xml里面增加一个配置,百度半天没搜索到. <android>         <manifestAddi ...

随机推荐

  1. DatagramPacket,DatagramSocket

    package test; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSo ...

  2. Unix网络编程学习笔记之第12章 IPv4与IPv6的互操作性

    一. 简单介绍 如果我们本章讨论的主机都是支持双栈的,即支持IPv4地址.也支持Ipv6地址. 我们本次讨论的点:client与server端使用的是不同类型的地址.由于同样类型的地址没什么可讲的. ...

  3. osx中Grapher的使用

    Grapher 是一个可创建方程图形的应用程序,因此您能够使结果可视化.您能够输入各种数学函数,以二维和三维图形方式查看它们. 您甚至能够让图形动起来.用图形制作影片文件. 打开osx中的Graphe ...

  4. Java基础学习过程

    转载:http://blog.csdn.net/scythe666/article/details/51699954JVM 1. 内存模型( 内存分为几部分? 堆溢出.栈溢出原因及实例?线上如何排查? ...

  5. hibernate学习系列-----(5)hibernate基本查询下篇:hibernate聚合函数、分组查询及命名查询

    在上一篇中,大致学习了hibernate的基本查询:HQL基本查询,今天,继续昨天的步伐,继续学习hibernate的基本查询..... 1.hql聚合函数,先大致列一下hql的聚合函数有哪些吧: 在 ...

  6. Makefile.am, Makefile.in 与 Makefile的关系(转)

    文章出处:http://blog.mcuol.com/User/wangguangdong/Article/17384_1.htm Makefile.am, Makefile.in, Makefile ...

  7. HDU 3732 Ahui Writes Word(多重背包)

    HDU 3732 Ahui Writes Word(多重背包) http://acm.hdu.edu.cn/showproblem.php? pid=3732 题意: 初始有N个物品, 每一个物品有c ...

  8. 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

    [COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...

  9. HTML5 2D平台游戏开发#6地图绘制

    此前已经完成了一部分角色的动作,现在还缺少可以交互的地图让游戏看起来能玩.不过在开始之前应当考虑清楚使用什么类型的地图,就2D平台游戏来说,一般有两种类型的地图,Tile-based和Art-base ...

  10. C++ Primer(第五版)读书笔记 & 习题解答 --- Chapter 1

    Chapter 1.1 1. 每个C++程序都必须有且只能有一个main函数,main函数的返回类型必须是int.操作系统通过调用main函数来运行C++程序. 2. 一个函数的定义包含四部分:返回类 ...