Odexed dan Deodexed


Apakah file ODEX itu?
Dalam file sisten Android, aplikasi berbentuk paket dengan extensi APK. Paket aplikasi atau APK ini mempunyai file ODEX yang fungsi sebenarnya adalah untuk menghemat ruang penyimpanan. File ODEX ini sebenarnya hanya koleksi dari bagian dari aplikasi yang di optimalkan sebelum proses booting. Dengan itu, adanya file ODEX akan mempercepat proses BOOT karena meload bagian dari aplikasi2 yang ada. Di sisi lain, adanya ODEX mempersulit proses hacking terhadap APK, karena beberapa bagian dari APK telah di extract dan berada di lokasi yang lain sebelum di eksekusi.

Apakah file DEODEX itu?
Proses Deodexing secara singkat adalah sebuah proses packing kembali APK dengan ODEX dengan cara tertentu. Proses packing ini akan menjadi file dengan format CLASSES.DEX. Dengan melakukan DeOdexing, semua paket dari APK yang sebelumnya terpisah di satukan kembali di satu file APK, sehingga menghilangkan kecemasan bahwa APK yang dimodifikasi akan konflik dengan beberapa file ODEX.
Dengan kata laen, ROM yang telah DeODEXed, memiliki paket aplikasi yang telah di jadikan satu kembali dalam satu file APK, sehingga mengijinkan modifikasi pada file APK seperti perubahan THEMA. Karena tidak ada kode/bagian paket aplikasi yang lokasinya berbeda maka integritas paket tetap terjaga.

Bagaimana ini bisa bekerja?
Sistem Operasi Android menggunakan virtual mesin Java yang dinamakan Dalvik Virtual Machine.
File Deodex atau *.dex memiliki cache yang digunakan oleh Dalvik ini tersimpan di dalam paket APK. Sedangkan *.odex yang merupakan optimasi *.dex yang sama di simpan di folder yang sama dengan APK, dengan nama sama, akan tetapi berbeda extensi. Android memakai teknik ini di semua sistem aplikasinya
Saat sistem Android boot, Dalvik Virtual Machine meload file2 *.odex, mengizinkan sistem operasi Android untuk mempelajari lebih lanjut aplikasi apa saja yang nantinya akan di load, sehingga akan mempercepat proses BOOT/
Dengan melakukan proses DeOdex, developer sebenarnya menaruh file .odex ke paket APK yang bersangkutan. Karena semua kode sekarang telah berada di dalam paket APK itu sendiri, sangat di mungkinkan untuk memodifikasi paket aplikasi APK tanpa mengalami konflik dengan eksekusi di lingkungan Sistem Operasi Android.

Keuntungan dan Kelemahan.
Keuntungan adanya deOdex adalah lebih ke kemungkinan modifikasi. Yang biasanya di gunakan pada custom ROM dan pemberian THEMA. Developer yang mengembangkan custom ROM biasanya melakukan proses deodex terlebih dahulu, karena dengan deOdex, dia bisa merubah banyak paket APK dengan tetap bisa melakukan perubahan THEMA.
Disisi lain, karena file .ODEX sebenarnya di tujukan untuk mempercepat pembangunan Dalvik Cache, menghilangkannya akan membuat waktu BOOT lebih lama. Akan tetapi hal ini benar untuk proses pertama BOOT, karena cache DALVIK saat pertama masih kosong, akan tetapi cache ini akan otomatis terisi dengan seiring waktu aplikasi2 di jalankan. Proses boot yang lama mungkin kembali terjadi jika, cache DALVIK terhapus karena alasan tertentu.