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