reverse engineering is everywhere. but reverse engineering is meant for code review of vulnerable application. so I hope you guys will not use this reverse engineering tricks to do any illegal things.
all android application are running on Dalvik , which is a Virtual Machine having register-base architecture and different from Java Virtual Machine by sun-microsystem (and now by oracle ) which is stack machine.
hence all android application is consist of Dalvik Executable (.dex). hence to convert those android application( *.apk) to source code we have to follow below steps
(Note : apk is packing of .dex file and other resources.)
step to decompile
1) convert .dex file format to .class file
2) convert .class file format to java code file
1) android application will come with .apk file format. which contains .dex file .
hence to convert .dex file in to .class file ( and those compress .class files are placed in .jar file)
one need to have .dex to .class file converter .(both are binary format)
you can download such tool from below link.
after downloading you need to extract them and it will have following files in you file system.
then it will convert your appname.apk file to appname.apk.dex2jar.jar.
which is pure bytecode and can run on java virtual machine.
2) now you have .jar file and to convert this jar to java code there are many java decompilers are available .
but I have used free one available on internet. you can download from here
now use this compile and it will generate souce code files for you.
I hope you like this method to decompile you favorite android application.
there are such other tools available to decompile or reverse engineering your android application.
Sr. Programmer Analyst