<span style="font-family: Arial, Helvetica, sans-serif;">1.配置Java的环境</span>
1)JAVA_HOME配置:
2)C:\Program Files\Java\jdk1.7.0_51;CLATHPATH配置:C:\Program Files\Java\jdk1.7.0_51\lib\dt.jar;C:\Program Files\Java\jdk1.7.0_51\lib\tools.jar;.注意:最后有“.”
3)path配置:C:\Program Files\Java\jre7\bin;C:\Program Files\Java\jdk1.7.0_51\bin;
可以就个人情况而言。
2.下载apktool工具:http://www.cngr.cn/dir/209/sjrj/2012121291256.html (只供参考)
3.解压apktool包,将apktool.jar、aapt.exe、apktool.bat拷贝到根目录的apktool文件中(本人是在E盘中创建了一个apktool文件夹),如果要进行签名则需要使用signapk.jar、testkey.pk8、testkey.x509.pem来进行签名。
4.将您想要反编译的apk文件拷贝到apktool文件夹中,使用命令行进行反编译。
如果再次进行反编译则会出现:
则需要使用:apktool d -f framebyframe.apk进行覆盖反编译
5.将反编译的文件重新回编译成apk文件,则需要:
6.进行签名则需要:
7.遇到的问题:
E:\apktool>apktool d framebyframe.apk I: Baksmaling... I: Loading resource table... I: Loaded. I: Decoding AndroidManifest.xml with resources... I: Loading resource table from file: C:\Users\Administrator\apktool\framework\1. apk I: Loaded. I: Regular manifest package... I: Decoding file-resources... I: Decoding values */* XMLs... Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x01030119 at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61) at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58) at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54) at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen ceValue.java:62) at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe renceValue.java:46) at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResSca larValue.java:44) at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re sStyleValue.java:48) at brut.androlib.res.data.value.ResBagValue.serializeToResValuesXml(ResB agValue.java:40) at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour ces.java:440) at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:243 ) at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:115) at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114) at brut.apktool.Main.cmdDecode(Main.java:146) at brut.apktool.Main.main(Main.java:77)将C:\Users\Administrator中apktool文件删除即可解决。
未完待续。。。。。。。。。
有关于apktool的使用的一些心得,布布扣,bubuko.com
原文:http://blog.csdn.net/xia09222826/article/details/37909421