Cũng giống như máy ảo của java (JVM), máy ảo Dalvik (Dalvik Virtual Machine - DVM) được thiết kế tối ưu hơn về hiệu suất và phù hợp cho các thiết bị cầm tay, tốn ít tài nguyên hơn, chạy nhanh hơn.
Máy ảo Dalvik được viết bởi tác giả Dan Bornstein. Máy ảo này sử dụng Dex compiler để biên dịch class java thành file .dex sau đó đóng gói các resource lại và tạo ra file apk để chạy.
Quy trình tạo ra file apk để chạy trên DVM như sau:
javac chuyển code java thành các file .class
dx chuyển các file .class thành file theo chuẩn của .dex
Android Assets Packaging Tool (aapt) sẽ tiến hành đóng gói các resource vào chung với .dex để tạo ra file .apk
Bạn có thể mang file .apk đi cài đặt ở các điện thoại phù hợp phiên bản code là chạy được.
Sau này upload lên Google Play thì cũng sử dụng file apk để gửi lên Google Play. Người dùng cài đặt trong Google Play thì chính là tải file apk về cài.