Odex o Deodex, questo è il problema!

Odex o Deodex? Questi due termini sono probabilmente sconosciuti all’ utente medio Android. Vogliamo parlarvene in questo articolo.

Chi ha a che fare con il modding spesso non sa che le custom rom, le rom cucinate da cuochi e sviluppatori, si distinguono in due principali categorie (e filosofie): rom ODEXED e rom DEODEXED.

Oggi vi spiegheremo differenza, vantaggi e svantaggi di entrambe queste tipologie!

Le rom sono composte da numerose APK (applicazioni) che sono sostanzialmente dei file ZIP. Il codice Java (che serve a lanciare l’ applicazione) viene memorizzato in un file chiamato classes.dex che si trova dentro ogni APK.

Nelle rom ODEXED questo file viene inviato alla Dalvik JVM (una macchina virtuale che si occupa di far girare le applicazioni su Android ) e poi elaborato. Successivamente una cache di questo file viene inviata alla Dalvik cache che si occuperà di eseguire alcune istruzioni. Ogni file classes.dex quindi si occupa di pre-caricare all’ avvio del sistema operativo alcuni file dell’applicazione, in modo da garantire tempi di avvio rapidi. L’ unico inconveniente è che risulta molto complicato agli sviluppatori applicare modifiche al sistema.

Per questo chi si occupa di modding preferisce lavorare su rom DEODEXED che invece sono composte da applicazioni i cui files classes.dex non vengono pre-caricati nella Dalvik cache che quindi non avrà alcun file da eseguire, in quanto la cache del file classes.dex le sarà inviata al momento dell’avvio dell’applicazione.
Questo comporta una conseguente riduzione del tempo di avvio del sistema operativo ma anche una conseguente leggera lentezza in più durante l’avvio di un’ applicazione.

Odex o Deodex?

Dunque, effettuare il DEODEXING di una ROM significa eliminare dalla Dalvik cache i file classes.dex delle applicazioni e fare in modo che tutto il contenuto informativo rimanga all’ interno del singolo APK. Questo permette agli sviluppatori di lavorare facilmente sulle rom e di poterle personalizzare a proprio piacimento!

In conclusione, vorremmo farvi riflettere sulle prestazioni di un device in base al tipo di rom in uso poiché, se da una parte le rom deodexed permettono un boot più rapido, dall’ altra quelle odexed permettono un’ avvio più rapido delle applicazioni! A voi la scelta.