Los que estamos un poco metidos en el tema del desarrollo para Android y nos gusta trastear con distintas ROMs, probar versiones que todavía no son totalmente funcionales, y estar al día de todas las novedades en lo que al software para Android se refiere, nos encontramos con toda una serie de términos y elementos que nos resultan totalmente extraños. Hoy nos vamos a centrar en qué es una ROM deodexed. Os cruzaréis mucho con esta palabra cuando busquéis aplicaciones no oficiales que solo pueden utilizarse con dispositivos modificados.
Una ROM deodexed es aquella en la que se ha modificado una serie de ficheros para optimizar el consumo de memoria interna del dispositivo. Como sabréis, muchos smartphones, especialmente los de capacidad de almacenamiento reducida, llenan muy rápidamente la memoria interna, provocando cuelgues, cierres de aplicaciones inesperados, inestabilidad, y el mal funcionamiento del sistema de notificaciones. Para mitigar este problema, uno de los procedimientos posibles es convertir el firmware del dispositivo en deodexed. Pero, ¿qué significa exactamente?
¿Qué significa deodexed?
Deodexed es una palabra que proviene del inglés, y que es el fruto de unir tres elementos: el término «odex«, el sufijo «ed«, y el prefijo «de«, que corresponde al «des» en español. En la práctica, son ROMs deodexed aquellas a las que se les han quitado todos los archivos .odex, reintroduciendo su contenido dentro del APK como classes.dex.
En Android, las aplicaciones vienen empaquetadas como APK. Un archivo .odex es una parte optimizada del código (DEX) que se coloca fuera del APK para que el sistema pueda precargar esa porción en la caché (dalvik/ART) y acelerar la primera ejecución. Al deodexar, ese código vuelve a integrarse dentro del APK, lo que simplifica modificaciones y temas al existir un único paquete sin piezas externas que puedan entrar en conflicto.
¿Cómo saber si nuestra ROM es deodexed?
Son archivos que podemos encontrar en la memoria interna. Si tenemos el smartphone rooteado y permisos de superusuario, junto a un explorador de archivos que permita acceder a las carpetas raíz, como Root Explorer o File Manager, basta con ir a /system/app. Si aquí aparece algún archivo con formato .odex junto a su APK, la ROM es odexed; si no existen, es deodexed. Conviene revisar también /system/priv-app y, en sistemas más modernos, comprobar la presencia de formatos derivados como .vdex o directorios oat, que cumplen funciones similares de optimización previa. En todo caso, la idea es la misma: si el código optimizado está separado del APK, hablamos de odex; si está incluido en el APK, hablamos de deodex.

¿Qué implica una ROM deodexed a nivel técnico?
Los archivos con formato .odex son partes de aplicaciones que permiten que estas vayan más rápido porque se cargan en la caché de ejecución al inicio del sistema. Sin embargo, ocupan una cantidad de espacio notable en la memoria interna y dispersan el código entre varios ficheros. Para solucionar este problema, una ROM deodexed toma esos archivos y los integra dentro del APK en un classes.dex unificado. De este modo, no se cargan todos de forma previa al inicio del sistema y se facilita la integridad del paquete y su modificación. Como contrapartida, se puede perder velocidad en la primera ejecución de las apps tras deodexar o tras limpiar la caché, aunque, una vez la caché se reconstruye con el uso, la diferencia tiende a reducirse.
Android ejecuta aplicaciones en una máquina virtual/entorno de ejecución que compila y optimiza el código para acelerar su apertura. Por eso, con ROMs odexed el arranque inicial de las apps y del sistema puede percibirse más ágil, mientras que con ROMs deodexed el foco está en la flexibilidad para editar APKs, aplicar temas y realizar ajustes sin conflictos entre piezas sueltas.
Ventajas y desventajas de odex y deodex
- Modificación y theming: deodex facilita la edición de APKs (un único archivo), ideal para custom ROMs y temas. Odex dificulta cambios al tener código externo.
- Rendimiento percibido: odex suele ofrecer primer arranque de apps más rápido. Deodex puede ser algo más lento la primera vez, pero la caché se reconstruye con el uso.
- Espacio y organización: deodex centraliza el código en el APK, evitando duplicidades y mejorando la coherencia de paquetes; odex dispersa ficheros por el sistema.
- Flujo de desarrollo: muchos desarrolladores de ROMs empiezan por deodexar para poder personalizar, añadir tweaks y mantener compatibilidad con mods sin conflictos.
¿Cuál elegir en tu caso?
Si tu prioridad es personalizar el sistema, aplicar temas, instalar mods o modificar apps de sistema, una ROM deodexed es la opción más cómoda. Si, en cambio, no necesitas modificar y prefieres mantener una experiencia lo más ágil posible en primeras ejecuciones, una ROM odexed cumple perfectamente. En cualquier caso, el rendimiento final dependerá también de factores como hardware, limpieza de cachés y optimizaciones del desarrollador.
Así, cuando os encontréis por Internet con que determinadas funciones o aplicaciones solo son compatibles con ROMs deodexed, ya sabéis de qué se trata y cómo podéis comprobar si la ROM que tenéis instalada es de este tipo. Si tenéis cualquier duda sobre terminología, funcionalidad, o cualquier otro elemento que desconozcáis de Android, os invitamos a ponernos en contacto con nosotros por medio de nuestro perfil social de Twitter, o nuestra página de Facebook.
Odex y deodex responden a dos formas válidas de organizar el código de las aplicaciones: una prioriza arranques rápidos y la otra brinda flexibilidad total para modificar el sistema. Entender esta diferencia te ayudará a elegir la ROM y los mods más adecuados para tu dispositivo y tus necesidades.
