How to convert apk file to source code
Posted by Hemprasad Y. Badgujar on August 9, 2014
Make a new folder and put .apk file in it (which you want to decode). Now rename the extension of this .apk file to .zip (eg. rename from filename.apk to filename.apk.zip) and save it. Now you get classes.dex files, etc. At this stage you are able to see drawable but not java & xml files, so continue.
** UPDATE: Android Complete tutorial now available here.
Now extract this zip apk file in the same folder. Now download dex2jar from this link dex2jar and extract it to the same folder. Now open command prompt and change directory to that folder. Then write
dex2jar classes.dex and press enter. Now you get classes.dex.dex2jar file in the same folder. Then download java decompiler from this link Java.decompiler.free and now double click on jd-gui and click on open file. Then open classes.dex.dex2jar file from that folder. Now you get class files and save all these class files (click on file then click “save all sources” in jd-gui) by src name. At this stage you get java source but the xml files are still unreadable, so continue to Step 3.
Now open another new folder and put these files
- Put .apk file which you want to decode
- Download apktool v1.x AND apktool install window using Google(http://code.google.com/p/android-apktool/downloads/list) (Very important first download apktool-install-windows-r05-ibot and extract the file . Second download apktool1.5.2, extract jar in that and put it in same folder ) and put in the same folder
- Download framework-res.apk file using Google and put in the same folder (Not all apk file need framework-res.apk file)
- Open a command window
- Navigate to the root directory of APKtool and type the following command:
apktool if framework-res.apk
apktool and "fname".apk(“fname” denotes filename which you want to decode)
Now you get a file folder in that folder and now you can easily read xml files also.
It’s not any step just copy contents of both folder to the single one and now enjoy with source code.