Cosa si intende quando una ROM Android viene deodificata?

La Dalvik VM esegue i file *.dex corrispondenti a un'applicazione quando si esegue tale applicazione. Un file *.odex è la versione ottimizzata di un file *.dex che è stato appositamente creato per un particolare dispositivo o piattaforma. Il vantaggio di creare un file *.odex è che l'applicazione viene eseguita molto più velocemente poiché l'ottimizzazione che la VM deve eseguire all'avvio dell'applicazione viene già eseguita in anticipo.

OEMs come Samsung che rilasciano ROMs per i loro dispositivi tipicamente odex tutti i pacchetti di applicazioni per sfruttare l'avvio più veloce delle app. Di conseguenza le ROM stock sono dette "odex".

Lo svantaggio di una ROM odex è che è impossibile tematizzarla o modificarla ed è anche impossibile adattarla per l'uso su qualsiasi dispositivo/piattaforma diverso da quello per cui è stata specificamente odexata. Di conseguenza, la maggior parte degli sviluppatori di ROM personalizzate scelgono di rilasciare le loro ROM senza odexing dei pacchetti di applicazioni.

Una ROM "deodexed" tecnicamente significa che era originariamente odex e qualcuno ha fatto lo sforzo di deodexarla esplicitamente - tipicamente usando un'utilità di deodexing. Tuttavia, si è anche arrivati a significare qualsiasi ROM che non aveva i pacchetti delle applicazioni odexati in primo luogo.

Spero che questo aiuti.