| 2 min read
Dalvik Virtual Machine does not use java bytecode. Instead, it uses it's own file format called dex (Dalvik Executable Format). It holds definition of multiple classes and relative data.
Smali /Baksmali is an assembler / disassembler for for dex file format.
Since Smali and Baksmali is used to work on dex file format, input is obviously .dex file. .dex file is packed (you can say zipped) under android apk or .jar file. Generally named as "classes.dex".
When you baksmali (disassemble) it, the tool will disassemble and extract all the classes present in the dex file. Practically you will not get files under .class extension. Rather you will get .smali files, in which you will get code in form of dalvik opcodes or smali syntax.
Learning smali syntax can be time consuming but it can be a bliss for android developers.
I have coded a tiny tool that automatically baksmali .dex files and later smali them.
[scbutton link="http://www.mediafire.com/?s1cb90m8cf9x9hi" target="blank" variation="green" size="large" ]Download Smali-Me v1.0[/scbutton]
I hope this tool will make your development easier. Good luck with your development..