dex file adalah file yang dieksekusi di Dalvik VM.
Dalvik VM mencakup beberapa fitur untuk pengoptimalan kinerja, verifikasi, dan pemantauan, salah satunya adalah Dalvik Executable (DEX) .
Kode sumber Java dikompilasi oleh kompiler Java ke dalam .classfile. Kemudian alat dx(dexer), bagian dari Android SDK memproses .classfile menjadi format file yang disebut DEXyang berisi kode byte Dalvik. The dxalat menghilangkan semua informasi yang berlebihan yang hadir di kelas. Di DEXsemua kelas aplikasi dikemas ke dalam satu file. Tabel berikut menyediakan perbandingan antara ukuran kode untuk file jar JVM dan file yang diproses olehdex alat.
Tabel membandingkan ukuran kode untuk pustaka sistem, aplikasi browser web, dan aplikasi tujuan umum (aplikasi jam alarm). Dalam semua kasus, alat dex mengurangi ukuran kode lebih dari 50%.

Dalam lingkungan Java standar, setiap kelas dalam kode Java menghasilkan satu .classfile. Itu berarti, jika file kode sumber Java memiliki satu kelas publik dan dua kelas anonim, katakanlah untuk penanganan acara, maka kompiler java akan membuat total tiga .classfile.
Langkah kompilasi sama pada platform Android, sehingga menghasilkan banyak .classfile. Tetapi setelah .classfile dihasilkan, alat "dx" digunakan untuk mengubah semua .classfile menjadi file tunggal .dex, atau Dalvik Dapat Dieksekusi. Ini adalah .dexfile yang dieksekusi di Dalvik VM. The .dexfile telah dioptimalkan untuk penggunaan memori dan desain terutama didorong oleh berbagi data.