zoukankan      html  css  js  c++  java
  • ApkTool反编译apk,去除广告或者汉化后重新打包apk,并签名

    http://my.oschina.net/mopidick/blog/135581

    以ubuntu的环境为例子,window的大同小异

    首先下载apktool工具:https://code.google.com/p/android-apktool/

    注意:这个地址下载时,由于官网把apktool和apktool-install-linux-r05-ibot(或者是window下的)两个工具分开了,所以用户需要同时下载:

    <!-- lang: shell -->
    1、apktool1.5.2.tar.bz2 
    2、apktool-install-linux-r05-ibot.tar.bz2  (window下:apktool-install-windows-r05-ibot.tar.bz2)
    

    下载完后,分别解压上面两个文件夹,然后将apktool.jar拷贝到另一个文件夹下(包含了aapt 、apktool)。

    上述工作做好后,就可以我们的反编译和打包apk了(以myapk.apk为例)

    1、将 myapk.apk 文件拷到上面那个目录(包含了aapt 、apktool,apktool.jar)。

    2、使用以下命令反编译

    <!-- lang: shell -->
    ./apktool d  myapk.apk  newapk
    

    (其中d:代表decode的意思,就是解码;newapk是随便起的名字,是你要解压到的那个目录)

    解压后,你会发现出现了一个新目录:newapk(子目录含:assets、lib、res、smail以及别的两个文件) 其中smail文件夹下是源码的另一种形式,你要修改的一些东西也都在samil文件夹下。

    A、汉化:那么使用ctrl+F查找“const-string”字符,找到后面需要修改的字符串。如,将“setting”改为“设置”

    B、去除广告:同样使用ctrl+F查找字符串“http://”;这个链接就是广告链接,你只要把引号里的链接删除即可

    个人经验: 去除广告最好的方法其实就是找到manifest.xml文件中的与广告相关的activity和service,直接删除就行了!!!

    3、修改完后,我们将其打包回apk,使用如下命令:

    <!-- lang: shell -->
    ./apktool b newapp  myapk2.apk
    

    其中 b 代表:build的意思;myapk2.apk是你最终打包想要生成的那个apk的名字

    4、签名

    使用工具:AndroidResEdit 这个工具使用很简单,下载完后只需选择myapk2.apk,然后签名就可以。

  • 相关阅读:
    慕课网-安卓工程师初养成-6-3 如何使用 Java 中的数组
    慕课网-安卓工程师初养成-6-2 练习题
    慕课网-安卓工程师初养成-6-1 什么是数组
    慕课网-安卓工程师初养成-5-5 进阶练习
    慕课网-安卓工程师初养成-5-4 使用 Eclipse 调试程序
    慕课网-安卓工程师初养成-5-3 编程练习优化
    慕课网-安卓工程师初养成-5-2 编程练习解析
    币种统计
    先取不败游戏
    贪心算法——数列操作得到最大的值
  • 原文地址:https://www.cnblogs.com/bigben0123/p/4953673.html
Copyright © 2011-2022 走看看