APK反编译去广告

具体步骤:

1.下载 apktool

下载地址:https://code.google.com/p/android-apktool/downloads/list

2.通过apktool 反编译apk。命令行中输入以下命令:apktool.bat  d  -f   aaa.apk(apk路径) 反编译APK文件

3.开始修改XML布局文件

首先,我们进入反编译后的文件夹,以我的为例

进入 C:\apk\com.youmi.android.sample\res\layout  目录下

用记事本打开activity_ad.xml(注:不同的程序广告所在的文件不一样,可以查看一下别的文件里,一般都是在res\layout 目录下的xml文件里。)

可以看到下面一段代码

<LinearLayout

android:id="@+id/adLayout"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:gravity="center_horizontal"

android:orientation="horizontal"

>

这段代码是用来展示广告的我们可以改成

<LinearLayout

android:id="@+id/adLayout"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:gravity="center_horizontal"

android:orientation="horizontal"

android:visibility="gone"

>

这样广告就被隐藏起来了。

4.通过apktool 把修改后的代码编译会APK,输入apktool.bat   b  aaa (你编译出来文件夹)

5.最后记得给新的APK签名。

sign apk file: jarsigner -keystore test.keystore -storepass password -verbose TestApp-unsigned.apk name_alias

附录

Jarsigner命令详解

[-keystore <url>]           密钥库位置

[-storepass <口令>]         用于密钥库完整性的口令

[-storetype <类型>]         密钥库类型

[-keypass <口令>]           专用密钥的口令(如果不同)

[-sigfile <文件>]           .SF/.DSA 文件的名称

[-signedjar <文件>]         已签名的 JAR 文件的名称

[-digestalg <算法>]    摘要算法的名称

[-sigalg <算法>]       签名算法的名称

[-verify]                   验证已签名的 JAR 文件

[-verbose]                  签名/验证时输出详细信息

[-certs]                    输出详细信息和验证时显示证书

[-tsa <url>]                时间戳机构的位置

[-tsacert <别名>]           时间戳机构的公共密钥证书

[-altsigner <类>]           替代的签名机制的类名

[-altsignerpath <路径列表>] 替代的签名机制的位置

[-internalsf]               在签名块内包含 .SF 文件

[-sectionsonly]             不计算整个清单的散列

[-protected]                密钥库已保护验证路径

[-providerName <名称>]      提供者名称

[-providerClass <类>        加密服务提供者的名称

[-providerArg <参数>]] ... 主类文件和构造函数参数

最新文章

  1. 一个Tomcat多端口多项目部署
  2. Java for LeetCode 029 Divide Two Integers
  3. Sqli-labs less 25a
  4. Java关键字static、final
  5. 清除XCode缓存和生成文件
  6. linux测试题
  7. 原生AJAX基础讲解及兼容处理
  8. ORACLE时间日期格式使用总结(参考网上资料汇总)
  9. Day2_and_Day3 文件操作
  10. 聊一聊顺序消息(RocketMQ顺序消息的实现机制)
  11. Python3中列表字符串转数字
  12. Django之随机图形验证码
  13. pip install urllib3[secure] 报错 error: ffi.h: No such file or directory
  14. C#深度学习の枚举类型(IEnumerator,IEnumerable)
  15. leetcode581
  16. 【转】解决Eclipse中SVN版本信息不显示的问题
  17. angular2.0学习笔记7.echarts 地图(type:&#39;map&#39;)slice undifined 出错问题
  18. window.location.origin
  19. Asp.Net MVC:return View()、return View(&quot;Login&quot;)、return Login()、return RedirectToAction(&quot;Login&quot;) 的区别
  20. vue-cli + webpack自动生成项目

热门文章

  1. Mysql字段合并
  2. VS2015 C# 编写USB通信上位机时,改变net框架导致DLL调用失败的问题解决方法
  3. 51 nod 1693 水群
  4. 阅读《Android 从入门到精通》(15)——数字时钟
  5. Nginx系列(四)--工作原理
  6. [cocos2dx笔记013]一个使用CCRenderTexture创建动态纹理显示数字的类
  7. hdu 3449 Consumer (依赖01背包)
  8. mybatis和hibernate的区别【转】
  9. Android集成一个新产品时,lunch的product name和device name注意事项
  10. Linux内核编译測试