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