What is the difference between .dex and .apk file? .dex and .apk file: What are they and how do they execute ?
Actually, an APK file is a ZIP file, where you can found the Magic Number PK in the file header. It contains not only classes.dex but also other meta files such as AndroidManifest.xml which contains the basic configuration of this file.

A .dex file is just... uh, I regard it as a "real" executable, like an .exe file in Windows or an ELF in Linux, which contains the machine code(for Dalvik VM).