1. 拿到Here.apk
2. 改为Here.zip
3. 解压
4. 用dex2jar工具将解压后的文件夹中的classes.dex转换成jar文件
dex2jar.sh classes.dex(Linux)
或者
dex2jar.bat classes.dex(Windows)
生成
classes_dex2jar.jar
dex2jar的下载地址如下:
http://code.google.com/p/dex2jar/
#if First
5. 用jd-gui.exe打开上面生成的jar包classes_dex2jar.jar 即可看到源代码了
#else
5. XJad打开上面生成的jar包classes_dex2jar.jar 反编译后会保存到~...的文件夹里,即可看到源代码了
#endif
6. 用AXMLPrinter反编译xml文件
java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest2.xml
AXMLPrinter的下载地址如下:
http://android4me.googlecode.com/files/AXMLPrinter2.jar
另外还有两种方法
1. 反编译的方法主要是利用SDK自带的一个dexdump
用法:dexdump是Android SDK里面自带的命令,看参数说明来使用想要获取的内容。
dexdump -d -f -h xxx.dex > xxx.txt
指令参数解释:-d : disassemble code sections
-f : display summary information from file header
-h : display file header details
-C : decode (demangle) low-level symbol names
总结:可以有时候调试的时候用一下,对于想很清晰地看到别人的整个源码,感觉没啥用
2. apktool
apktool.bat d -f Here.apk A
将反编译完的文件重新打包成apk,很简单,输入apktool.bat A d:/Tool(
apktool.bat b abc123)
则d:/Tool下面将会出现dist的目录,打包好的apk就在里面
还得签名,请参考:http://blog.csdn.net/androiddeveloper_lee/article/details/9170731
工具下载地址:http://download.csdn.net/detail/lijinwei_123/6773261