¿Qué es Odex y Deodex en Android? [Complete Guide]

Como novato en Android, lo que más me molestaba era encontrar terminología más allá de mi comprensión. Al no provenir de Linux, se volvió difícil mantenerse al día con las palabras tan comúnmente utilizadas que se extendieron por toda la comunidad de desarrollo. Del mismo modo, como no entendí los términos, no pude determinar si algo me era de alguna utilidad o no. Por lo que he visto, este problema se extiende a muchos usuarios novatos e incluso promedio.

Una palabra que aparece comúnmente cuando se juega con ROM y firmware personalizados, e incluso los temas, se desodexa y se odexa. La mayoría de los usuarios no comprenden lo que estos términos realmente implican, y aunque los desarrolladores se jactan una y otra vez de que sus temas y ROM están siendo desodexados, el usuario medio no tiene ni idea de lo que está pasando.

En este artículo, intentaremos explicar qué significa odexed y desodexed, y qué implicaciones trae para un usuario ocasional.

¿QUÉ ES UN ARCHIVO ODEX?

En el sistema de archivos de Android, las aplicaciones vienen en paquetes con la extensión .apk. Estos paquetes de aplicaciones, o APK, contienen ciertos archivos .odex cuya supuesta función es ahorrar espacio. Estos archivos ‘odex’ son en realidad colecciones de partes de una aplicación que se optimizan antes de arrancar. Hacerlo acelera el proceso de arranque, ya que precarga parte de una aplicación. Por otro lado, también dificulta la piratería de esas aplicaciones porque una parte de la codificación ya se ha extraído a otra ubicación antes de la ejecución.

LUEGO VIENE DEODEX

Desodexing consiste básicamente en volver a empaquetar estos APK de cierta manera, de modo que se vuelvan a ensamblar en classes.dex archivos. Al hacer eso, todas las partes de un paquete de aplicación se vuelven a unir en un solo lugar, lo que elimina la preocupación de que un APK modificado entre en conflicto con algunas partes independientes de odexed.

En resumen, las ROM Deodexed (o APK) tienen todos sus paquetes de aplicaciones reunidos en un solo lugar, lo que permite una fácil modificación, como la temática. Dado que ningún fragmento de código proviene de ninguna ubicación externa, las ROM o APK personalizadas siempre se desodexan para garantizar la integridad.

CÓMO FUNCIONA ESTO

Para los más geek entre nosotros, el sistema operativo Android utiliza una máquina virtual basada en Java para ejecutar aplicaciones, llamada Dalvik Virtual Machine. Un desodexado, o .dex El archivo contiene la caché utilizada por esta máquina virtual (denominada Dalvik-cache) para un programa, y ​​se almacena dentro del APK. Un .odex archivo, por otro lado, es una versión optimizada de este mismo .dex archivo que se almacena Siguiente al APK en lugar de dentro de él. Android aplica esta técnica por defecto a todas las aplicaciones del sistema.

Ahora, cuando se inicia un sistema basado en Android, la caché de davlik para la VM de Davlik se crea utilizando estos .odex archivos, lo que permite que el sistema operativo aprenda de antemano qué aplicaciones se cargarán y, por lo tanto, acelera el proceso de arranque.

Al eliminar el índice de estos APK, un desarrollador coloca el .odex archivos dentro de sus respectivos paquetes APK. Dado que ahora todo el código está contenido en el propio APK, es posible modificar cualquier paquete de aplicación sin entrar en conflicto con el entorno de ejecución del sistema operativo.

VENTAJAS DESVENTAJAS

La ventaja de desodexar está en las posibilidades de modificación. Esto se usa más ampliamente en ROM y temas personalizados. Un desarrollador que construye una ROM personalizada casi siempre elegiría desodexar el paquete de ROM primero, ya que eso no solo le permitiría modificar varios APK, sino que también dejaría espacio para la temática posterior a la instalación.

Por otro lado, dado que el .odex se suponía que los archivos construirían rápidamente la caché dalvik, eliminarlos significaría tiempos de arranque iniciales más largos. Sin embargo, esto es cierto solo para el primer inicio después de la desodexación, ya que la caché se seguiría construyendo con el tiempo a medida que se utilizan las aplicaciones. Los tiempos de arranque más prolongados solo pueden volver a verse si la caché de Dalvik se borra por algún motivo.

Para un usuario ocasional, la principal implicación está en las posibilidades de tematización. Los temas para Android también vienen en APK, y si desea modificar alguno de ellos, siempre debe elegir una ROM personalizada con dedoexed.

¿Te resultó útil este artículo Si está confundido con otros términos y desea que lo ayudemos a explicarlos, háganoslo saber en los comentarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.