1、首先,我们需要将一个Android APK文件重命名。大家都知道,Android 的应用安装包的后缀是apk文件,这里,我们将其后缀改为.zip文件。
![手机软件开发[4]如何反向编译Android APK文件](https://exp-picture.cdn.bcebos.com/9881b1fce186242fa310b5ac35e434daf15ee8f4.jpg)
2、其次,得到这个压缩包之后,我们就需要解压当前的这个zip文件。
![手机软件开发[4]如何反向编译Android APK文件](https://exp-picture.cdn.bcebos.com/256eb672941fbee43ab8d1edc1237971ff1de7f4.jpg)
3、然后在文件中,我们就需要找到自己需要的那个classesX.dex 文件。注意,我们这里有四个.dex文件,由于不同的应用采用的格式分段不一样,所以这里我们需要把压缩包里面解压出来的所有.dex文件都采用。
![手机软件开发[4]如何反向编译Android APK文件](https://exp-picture.cdn.bcebos.com/bfa52adaf05e4a236813dfae1dd818196020e2f4.jpg)
4、接下来,我们就需要再次用到cmd命令,启用dex2.jar文件从而得到一个jar文件,命令如下:dex2jar.bat classes.dex classes2.dex classes3.dex这个时候,我们再采用用jd-gui反编译工具将得到.jar文件反编译成.java文件。
![手机软件开发[4]如何反向编译Android APK文件](https://exp-picture.cdn.bcebos.com/6061b9cd0c6efbf21bd15464127bbbf4db58daf4.jpg)
![手机软件开发[4]如何反向编译Android APK文件](https://exp-picture.cdn.bcebos.com/7496877bbbf4da586cb8fffaea0f8b56ac04d7f4.jpg)
5、到这里,我们就已经获取到了 apk应用的源码部分,我们接下里开始获取资源部分。采用命令(apktool d xxx.apk xxx_xml像粜杵泳)反编译xxx.apk包,然后从 xxx_xml 文件夹得到xml文件。
![手机软件开发[4]如何反向编译Android APK文件](https://exp-picture.cdn.bcebos.com/739bc049610f8b568f660fdb9ce951e10ff8d3f4.jpg)
![手机软件开发[4]如何反向编译Android APK文件](https://exp-picture.cdn.bcebos.com/2f2909e951e10ef87f34f48e2324d8e9cdd2ccf4.jpg)
6、到这里,我们就已经获取到了完整的APK源代码了。下面就靠各位开发者自行研究代码了。