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,然后签名就可以。

原文地址:https://www.cnblogs.com/bigben0123/p/4953673.html