2014/09/21

Membahas Tuntas ODEX dan DEODEX Android [Update]

Membahas Tuntas ODEX dan DEODEX Android [Update] - Patform Android adalah platform sistem operasi mobile yang paling cepat perkembangannya karena dukungan komunitas penggunanya. Komunitas yang paling aktif saat ini adalah XDA-Developers. Di Forum ini, sangat banyak sekali material yang bisa digunakan untuk mempelajari sistem operasi android dan berbagai tutorial modifikasi yang dibagikan oleh anggota forum.

Mengenai modifikasi OS Android inilah muncul istilah odex dan deodex. Umumnya, istilah Odex dan Deodex ini sering disebut bersamaan dengan ROM Odexed dan ROM Deodexed. Saya sendiri mungkin tidak bisa menjelaskan secara rinci dan mendetail mengenai Odex dan Deodex. Tetapi, Jika anda cukup penasaran untuk memahami Odex dan Deodex, saya akan mencoba membahas apa dan untuk apa Odex dan Deodex di Android.

Memahami Cara Kerja Sistem Operasi Android

Anda pasti sering mendengar istilah deodex jika Anda pernah menginstal custom ROM pada perangkat Anda, karena hampir semua pengembang ROM memilih untuk melakukan deodex terhadap ROM yang mereka buat. Bagi user awam, hal ini kadang membingungkan. Untuk memahami konsep ini, pertama-tama Anda harus memahami dulu apa itu file ODEX.

OS Android (yang berbasis Linux) menggunakan paket aplikasi bernama APK (umumnya di linux paket aplikasi bernama .rpm atau .deb), berisi perintah kepada sistem operasi bahwa aplikasi ini akan dipakai untuk apa dan akan mengeksekusi perintah apa serta bagaimana cara mengeksekusinya.

Jika Anda sudah terbiasa dengan Android, Anda akan tahu bahwa OS Android membedakan tingkat aplikasi berdasarkan partisi-partisi. Jika paket aplikasi tersebut terdapat di partisi /system maka aplikasi itu adalah aplikasi sistem (dan tidak dapat diubah atau dimodifikasi tanpa hak akses root, karena mereka bagian dari OS itu sendiri), sedangkan yang ada dalam partisi /data adalah aplikasi pengguna dan bebas dimodifikasi.

Partisi /system adalah yang pertama kali dimuat ketika sistem operasi melakukan boot up (booting), sehingga aplikasi yang ada di partisi /system diberikan prioritas utama. Dari sinilah Anda akan memulai memahami tentang ODEX dan DEODEX

Penjelasan Mengenai Aplikasi Odex dan Aplikasi Deodex Android

Odex singkatan dari "Optimized Dalvik executable" file. Sistem Android, seperti yang diidentifikasi di atas, memanfaatkan data terkompresi disimpan dalam file APK pada saat runtime. Untuk mempercepat proses ini, elemen yang paling penting dari aplikasi akan ditempatkan terkompresi dalam file .odex, sehingga memungkinkan OS Android dengan cepat menafsirkan bahwa informasi penting sebelum terus mengurai sisa aplikasi. ROM Stock akan datang dari produsen sebagai "odexed", yang berarti bahwa aplikasi (s) akan memiliki file APK dan file .odex, yaitu Calendar.apk dan Calendar.odex

Dalam OS Android, paket aplikasi di android (.apk) berjalan dalam Android Dalvik Virtual Machine (VM). Paket aplikasi .apk ini mempunyai dua bagian yakni bagian yang menyimpan informasi system yang akan di load ke VM sebagai cache dan bagian yang berisi source code aplikasi yang akan digunakan untuk menjalankan perintah tertentu. Dari kondisi ini, muncul dua pilihan untuk membuat sebuah paket aplikasi:
1. Memisahkan kedua bagian tersebut (.dex terpisahdari .apk). Disebut sebagai paket aplikasi ODEX
2. Menyatukannya kedua bagian sekaligus dalam satu paket APK (.dex di dalam .apk bernama classes.dex). Disebut sebagai aplikasi DEODEX.

Untuk opsi 1, bagian yang akan di cache di VM sudah disiapkan berupa file .dex dalam partisi system sehingga pada saat boot up VM langsung bisa memuat file .dex untuk di cache tanpa harus membongkar dari file .apk. Sebaliknya untuk opsi 2 VM harus membongkar file .apk saat boot-up untuk membuat dalvik-cache dari file .classes-dex terlebih dahulu agar bisa dimuat sebagai cache.

Dalam prakteknya, opsi 1 lebih sering digunakan oleh OS Android bawaan pabrik (OEM) atau yang sering kita sebut sebagai Stock ROM/Firmware. Sedangkan opsi 2 lebih sering digunakan oleh pengembang Custom ROM/Firmware.

Kenapa? Karena file .dex hanya menyimpan informasi arsitektur tunggal (satu jenis handheld, misal ber arsitektur ARM saja atau Intel saja) sehingga sulit di modifikasi. Opsi 1 dipilih oleh pabrikan ponsel karena sifatnya yang tidak mudah dirubah sehingga lebih aman. Sedangkan Developer lebih memilih opsi 2 karena lebih mudah dimodifikasi dan lebih fleksibel untuk di install di berbagai macam handheld.

Penjelasan Mengenai ROM Odex dan ROM Deodex Android

Biasanya, firmware Android bawaan adalah ROM odexed, file .odex yang sudah di optimasi untuk masing-masing handheld langsung bisa dimuat ke dalam Dalvik Virtual Machine ketika booting. Karena file-file .odex berisi informasi awal tentang setiap aplikasi sistem, sehingga OS tahu apa yang dibutuhkan ketika itu booting pertama kali. Loading aplikasi system pun ini lebih cepat.

Sedangkan ROM Deodex (custom ROM), tidak ada cache informasi dalam Dalvik Virtual Machine pada saat boot, jadi ketika OS booting pertama kali. Sehingga system perlu mengakses aplikasi deodex untuk mencari informasi arsitektur yang cocok dalam file .classes-dex yang nantinya akan dipilih oleh VM mana yang akan digunakan untuk di jadikan cache. Karena harus membongkar isi dari paket .apk inilah proses booting dari Android yang menggunakan paket aplikasi Deodex membutuhkan waktu lebih lama saat melakukan booting, karena masing-masing APK akan diproses satu per satu.

Jadi manakah yang lebih baik ROM ODEX atau ROM DEODEX?


Apakah itu berarti ROM ODEX dan lebih cepat daripada ROM DEODEX? Dalam kenyataannya tidak. Dalam kasus ROM Deodex, proses pembongkaran paket aplikasi untuk mencari informasi arsitektur untuk membuat dalvik-cache hanya berlangsung satu kali. Namun setelah Semua aplikasi dibuatkan dalvik-cache nya, pada saat OS booting berikutnya tidak perlu membongkar paket aplikasi lagi karena file dalvik-cache masih tersimpan.

Apakah itu berarti ROM DEODEX lebih baik daripada ROM ODEX karena mudah dimodifikasi? Tidak begitu juga, karena ROM DEODEX mudah dimodifikasi, maka siapapun dengan hak akses root bisa mengubah susunan file dalvik-cache. Sehingga jika ada kemungkinan disalahgunakan. Berbeda dengan ROM ODEX yang file dalvik tidak bisa dirubah karena sudah terdefinisi dalam file .dex.

Cara mengetahui suatu rom odex apa deodex:
Dari penjelasan diatas, tentu anda sudah paham bahwa ROM ODEX tersusun dari aplikasi yang mempunyai paket terpisah. Yakni: file .apk dan file .dex. Sehingga anda bisa langsung bisa tahu dengan melihat kedalam folder /system/app. Jika didalam folder tersebut ada dua file dengan nama yang sama tetapi dengan ekstensi berbeda (misalanya mms.apk dan mms.dex) naka bisa dipastikan itu ROM ODEX dan jika hanya ada satu file dengan ekstensi .apk saja, maka itu adalah ROM DEODEX.

3 komentar

nanya gan, sori soalnya ane gaptek banget. lg belajar root dan custom. tapi rata2 file custom baru tipe dex dan blm di Odex.

kalo menurut agan, pasca di custom jeroan android apa perlu di Odex ga ya?

ringan mana buat system file dex atau Odex...?
---yg agan jelain kan baru ringan buat booting. klo pas pemakaian gmn gan? ringan mana file Dex atau Odex?

Tq b4.

Sama aja gan, and juga gaptek. Bedanya ane sering sok tau hihi

Untuk pemakaian tidak beda jauh. Hanya beda mudah di customize untuk yang doyan utak atik jeroan sama tidak bisa di customize, lebih cocok dipake orang yang "apa adanya"

Terasanya itu pas nanti melakukan factory reset, saat semua aplikasi antri satu-satu memperbaiki diri (rom deodex) seperti belajar berhitung (ada notif Android is upgrading..)

Kalau memang suka tweaking (dengan init.d script) atau menge edit tampilan (UI) aplikasi system, mending pakai ROM deodex.

Tinggalkan komentar dan ikutan mejeng di Recent Comments.
- Komentar dimoderasi untuk mencegah komentar spam dan double post. Jadi komentar tidak akan langsung muncul.
- Daftarkan nama di profil blogger agar tidak tampil Unknown.
- Jangan pernah menuliskan no. HP maupun e-mail, komentar akan dihapus/tidak di publikasikan demi keamanan anda sendiri.
- Lihat halaman kontak untuk berkomunikasi secara intens dengan penulis artikel.
Kamus EmoticonSembunyikan