PERBEDAAN ODEX DAN DEODEX | Gadget Androidz

PERBEDAAN ODEX DAN DEODEX

Sering kali kita mendengar istilah ODEX dan DEODEX pada android. Banyak sekali pertanyaan apakah ODEX dan DEODEX itu? Apakah beda antara ODEX dan DEODEX itu? Saat ini saya menggunakan aplikasi ODEX atau sudah DEODEX? Pada artikel tips droid mengenai istilah dalam android sebenarnya telah saya bahas, namun pada artikel ini mari kita share bersama apakah ODEX dan DEODEX itu secara lengkap.
Semua paket aplikasi di dalam sistem Android umumnya(dalam artian tidak semuanya) memiliki ekstensi .apk.

Aplikasi yang berekstensi .apk sebagian mempunyai file .odex yang bertujuan untuk menghemat data. File-file odex sebenarnya berisi kode khusus yang berfungsi mempercepat atau mengoptimalkan proses booting. Dengan kata lain, dengan adanya file odex proses booting akan lebih cepat.

Sebelum membahas lebih detil perlu dijelaskan di sini perbedaan antara .dex, .odex dan proses deodex. 

Istilah odex dan odexed adalah sama hanya beda tenses (dalam bahasa Inggris). Demikian juga dengan istilah deodex dan deodexed adalah sama juga. Akan tetapi antara file odex (odexed) dan deodex (deodexed) tidak sama (semoga anda tidak bingung),

(File) .dex
Dalam file sistem 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 sebenernya koleksi dari bagian dari aplikasi yang di optimalkan sebelum proses boot. Dengan begitu, adanya file ODEX akan mempercepat proses BOOT karena load 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.
File .dex pada dasarnya adalah file yang sudah dikompile menjadi file aplikasi yang digunakan oleh Dalvik VM. Untuk lebih gampang mengingat, file .dex bisa diibaratkan dengan .exe di Windows.

(File) .odex
File .odex adalah file .dex yang sudah dioptimalisasi atau sudah mengalami pre-compile untuk kemudian dijalankan di firmware tertentu saja.

(Proses) deodex
Deodex adalah proses mengembalikan kembali file .dex yang sebelumnya sudah dioptimalisasi (.odex) menjadi file .dex. Proses ini akan mengambil cache ODEX kemudian menyusun kembali menjadi file APK saja. Deodex memungkinkan proses pengeditan APK file menjadi lebih mudah. 

Singkatnya adalah proses pengepakan (recompile) kembali APK dengan ODEX dengan cara tertentu. Proses pengepakan ini akan menjadi file dengan 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 tema. Karena tidak ada kode/bagian paket aplikasi yang lokasinya berbeda maka integritas paket tetap terjaga.

Cara mengetahui suatu rom odex apa deodex:
Masuk ke /system/app/ lalu lihat disitu ada file dengan extension *.odex atau tidak, jika ada maka rom itu bukan deodex.

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 akan melakukan loading 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 modifikasi paket aplikasi APK tanpa mengalami konflik dengan eksekusi di lingkungan Sustem Operasi Android.

Keuntungan dan Kelemahan
Keuntungan
Dengan 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 laen, 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.
Selain itu keuntungan lainnya adalah ketika proses booting lebih cepat odex dari deodex.

Kelemahannya
Lebih sulit untuk modifikasi aplikasi, seperti membuat animasi di framework, kalau di deodex lebih mudah sedangkan di odex harus menyambungkan beberapa code script ke code script lainnya.

Kesimpulannya beda odex dan deodex.
deodex adalah: aplikasi yang ada di odex dikemas ulang, kode kode dalvik cache nya di kembalikan lagi ke tiap aplikasi, sedangkan di odex kode kode itu terpisah dari aplikasi. DeOdex lebih mudah dalam pengeditan.

0 Response to "PERBEDAAN ODEX DAN DEODEX"

Post a Comment