一、工具准备
http://download.csdn.net/detail/super_level/5008095二、反编译xml文件
1.将上面所准备的工具复制到SDK下的tools文件夹下2.将需要反编译的xml文件复制到SDK下的tools文件夹下
3.打开cmd进入到SDK下的tools文件夹下,然后输入java -jar AXMLPrinter2.jar main.xml > main.txt
三、反编译classes.dex文件
1.将需要反编译的classes.dex文件复制到SDK下的tools文件夹下
2.打开cmd进入到SDK下的tools文件夹下,然后输入java -jar baksmali.jar -o classout/ classes.dex到此反编译classes.dex完成classout/是反编译出来的文件夹。
3.接下来要把classout/再编译回原来的classes.dex,输入java -jar smali.jar classout/ -o classes.dex
4.我们还可以吧该classes.dex再塞回原来的apk文件里面,方法是先把apk改为zip然后打开(记住:不是解压),把classes.dex复制进去覆盖原来的classes.dex,再把zip改回原来的apk,这时该apk是不能用的,我们需要重新给它打包
四、签名打包
1.打开cmd进入到jdk的bin文件下(如:C:\Program Files\Java\jdk1.6.0_10\bin),然后输入keytool -genkey -alias android123.keystore -keyalg RSA -validity 20000 -keystore android.keystore,20000指的是20000天
2.接下来签名apk了,签名之前记得删除apk里面的META_INF里的RSA和SF文件,打开cmd与第一步同样,然后输入jarsigner -verbose -keystore android.keystore -signedjar wer123.apk wer.apk android.keystore,这里的wer是要被签名的apk,wer123是签名后生成的apk,第一个android.keystore是文件名第二个是别名