前段使用一直使用一个手机APK软件,不过最近软件更新,出现了一个很讨厌的语音提示,于是想通过重新编译把语音提示去掉。
【准备工作】
配置JAVA环境,到http://www.java.com/下载并进行安装,如已安装的可忽略
APKTool下载地址:https://code.google.com/p/android-apktool/downloads/list
Windows下只需要下载这两个文件包即可:
apktool1.5.2.tar.bz2和apktool-install-windows-r05-ibot.tar.bz2
分别解压到到一个方便操作的目录下,然后就可以通过控制台进行操作了
【解包/反编译】
把要反编译的APK文件放到跟APKTool四个文件的同一个目录(例如C:\APK);
点击“开始”--“运行”,输入cmd,然后执行:
cd C:\APK
然后执行:
apktool d apkname.apk foldername
apkname.apk 表示要进行反编译的APK文件
foldername表示反编译后文件存放的目录,即在当前目录下会自动建一个新目录存放(如:C:\APK\foldername)
执行完上面语句后,如果没有出现错误提示,则成功解包了,找到foldername目录,打开smali目录即为反编译出来的字节。
【重新打包】
修改需要改变的文件后,就要重新打包成APK文件了:
apktool b foldername new.apk
其中foldername即放反编译结果的目录,执行成功后会在该目录的dist目录下有一个重新打包后的apk文件。
到此就成功打包了一个新的apk文件了,但还不要高兴得太早,该文件是一个没有签名的apk,有了解过android的应该都知道,没有签名是无法安装的。那就要重新为该文件签一下名了。
【签名】
签名我们需要用到的工具是Auto-sign。它主要是利用批处理命令,使用signapk.jar对APK文件进行签名的。
把new.apk文件复制到签名软件的目录下,再用记事本打开Sign.bat,将其修改为如下代码:
java -jar signapk.jar testkey.x509.pem testkey.pk8 new.apk new_signed.apk
最后双击一下Sign.bat即可签名完成,
签名后的APK文件就可以在模拟器或者Android机器上安装了。
Auto-sign下载地址:
http://pan.baidu.com/share/link?shareid=60884&uk=1227037436
或者可以使用AndroidResEdit进行图形化操作的签名
http://pan.baidu.com/share/link?shareid=558520&uk=1043662865