当前位置: 代码迷 >> Android >> android-从反编译到封装 - 随心
  详细解决方案

android-从反编译到封装 - 随心

热度:311   发布时间:2016-05-01 11:59:20.0
android-从反编译到打包 - 随心

一、工具准备

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是文件名第二个是别名
  相关解决方案