Selasa, 29 Januari 2013

APA ITU ODEX DAN DEODEX ?


Sebagai pengguna baru Android (newbie), apa yang paling mengganggu saya berasal dari 
semua istilah terminologi yang diluar pemahaman saya. Dikarenakan saya bukan berasal dari Lingkungan Linux, semuanya menjadi sulit bagi saya untuk memahami istilah-istilah yang sering digunakan dan tersebar di seluruh komunitas developer.

Demikian pula, karena saya tidak memahami "syarat dan ketentuannya", akibatnya sayapun tidak dapat menentukan apakah "sesuatu" ini berguna bagi saya atau tidak. Dari apa yang saya ketahui, masalah ini meluas ke banyak pengguna baru dan pengguna umum bahkan rata-rata pengguna Android.

Salah satu istilah yang biasanya muncul, ketika bermain dengan ROM kustom dan firmware, bahkan pada thema adalah deodexed dan odexed. Sebagian besar pengguna tidak memahami atau gagal untuk memahami apa sebenarnya arti istilah-istilah ini, dan sementara itu pengembang akan selalu menerbitkan lagi dan lagi tentang thema dan ROM yang deodexed, dan rata-rata para pengguna dibiarkan untuk tidak mengerti dan memahami tentang apa yang sebenarnya sedang terjadi.

Pada artikel ini, kita akan mencoba untuk menjelaskan apa arti odexed dan deodexed, dan apakah bisa diimplikasikan oleh pengguna biasa.

APAKAH SEBUAH FILE ODEX ITU?
Dalam sistem file Android, aplikasi berbentuk paket dengan ekstensi .APK. Paket aplikasi ini atau file-file APK, mengandung beberapa file .odex yang seharusnya berfungsi untuk menghemat ruang. File .odex ini sebenarnya adalah koleksi bagian dari aplikasi yang dioptimalisasikan sebelum proses boot. Melakukan 'odex' akan mempercepat proses boot, karena odex adalah bagian preloads dari aplikasi.
Di sisi lain, odex juga mempersulit "mereka" yang akan melakukan "hacking" terhadap aplikasi karena sebagian coding telah diekstrak ke lokasi lain sebelum eksekusi.

LALU ISTILAH "DEODEX" MUNCUL
Proses "Deodexing" pada dasarnya adalah pengemasan ulang file-file .APK dengan cara tertentu, sehingga mereka dipasangkan / digabungkan kembali ke dalam file classes.dex. 
Dengan melakukan itu (deodexing), semua potongan paket aplikasi disatukan kembali dalam satu tempat, sehingga menghilangkan kekhawatiran "jika APK dimodifikasi akan bertentangan dengan beberapa bagian odexed terpisah".
Singkatnya, ROM Deodexed (atau file-file APK deodexed) memiliki semua bagian aplikasi, karena mereka disatukan kembali dalam satu tempat, sehingga memungkinkan untuk melakukan modifikasi yang mudah seperti pembuatan thema. Karena tidak ada potongan-potongan kode yang datang dari lokasi eksternal, ROM kustom atau APKs selalu deodexed untuk memastikan integritas system.

BAGAIMANA CARA KERJANYA?
Sebagai pendahuluan, OS Android menggunakan mesin berbasis Java virtual untuk menjalankan aplikasi, yang disebut Dalvik Virtual Machine. Sebuah file deodexed atau .dex, berisi cache yang digunakan oleh mesin virtual ini (dikenal sebagai Dalvik-cache) untuk sebuah program, dan disimpan di dalam APK.
Sebuah file .odex, di sisi lain adalah versi yang dioptimalkan sama seperti file .dex yang disimpan di sebelah dalam .APK sebagai kebalikannya. Android memberlakukan teknik ini secara default untuk semua aplikasi sistemnya.
Sekarang, ketika sistem berbasis Android booting, cache dalvik untuk Dalvik VM dibentuk menggunakan file-file .odex yang memungkinkan OS untuk mempelajari terlebih dahulu apa saja aplikasi yang akan dimuat, dan dengan demikian akan mempercepat proses booting.
Dengan proses "deodexing" file-file APK ini, pengembang benar-benar menempatkan file .odex kembali ke dalam paket masing-masing APK. Karena kode semua sekarang terkandung dalam APK itu sendiri, maka ada kemungkinan untuk memodifikasi paket aplikasi tanpa bertentangan dengan lingkungan eksekusi sistem operasi.

KEUNGGULAN & KEKURANGAN
Keuntungan dari deodexing adalah kemungkinan untuk memodifikasi. Hal ini paling banyak digunakan dalam ROM kustom dan thema. Seorang pengembang yang membangun ROM kustom akan hampir selalu memilih untuk mendeodex paket ROM terlebih dahulu, karena proses deodexing tidak hanya akan memungkinkan dia untuk melakukan modifikasi berbagai file APK, tetapi juga menyisakan ruang untuk memasangkan sebuah thema.
Di sisi lain, karena file .odex yang seharusnya mempercepat pembentukan Dalvik cache dihilangkan, maka proses inisialisasi boot akan memakan waktu lebih lama. Namun, hal ini berlaku hanya untuk boot pertama kalinya setelah deodexing, karena cache masih akan terus terbentuk dari waktu ke waktu pada saat aplikasi sedang digunakan. Proses boot yang lama hanya akan dijumpai lagi, bila Dalvik cache dihapus karena alasan tertentu.

Untuk pengguna biasa, implikasi utama adalah dalam kemungkinan perubahan thema. Thema untuk android, biasanya dalam bentuk file-file .APK juga, dan bila anda ingin mengubah semua itu, anda harus selalu memilih ROM kustom yang telah deodexed.

Tidak ada komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.