<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文件删除就可以解决。
未完待续。。
。。。
。
。
。。