Logo es.androidermagazine.com
Logo es.androidermagazine.com

De la bolsa de correo: ¿qué diablos significa desodexar?

Tabla de contenido:

Anonim

Clark escribe:

¿Qué diablos significan realmente odex y deodex? Veo los términos mencionados en casi todos los hilos ROM personalizados y no puedo encontrar una respuesta que pueda entender. Espero que Android Central pueda ayudar.

Impresionante pregunta, Clark. Y creo que podemos responder en términos que la mayoría de la gente entenderá. Como has notado, ves los términos odex y deodexed en muchas publicaciones de foros sobre ROM personalizados o hacks variados para teléfonos y tabletas. Los desarrolladores necesitan mucho trabajo para crear ROM desodexadas a partir de ROM "de inventario", como las que ofrecen tanto los OEM como Google.

Para comenzar, necesitamos saber qué es un archivo odex. Es parte de una aplicación (el archivo.apk) que se ha creado previamente para que la máquina virtual Dalvik la cargue más rápido con menos recursos. Si busca en la carpeta / system / app / en su teléfono o tableta Android, verá que casi todas las aplicaciones tienen un archivo.apk y un archivo.odex. Estos archivos trabajan juntos a través de la máquina virtual Dalvik para hacer que las aplicaciones se ejecuten como deberían en nuestros dispositivos. Analicemos todo después del descanso.

El VM Dalvik

Dalvik VM es una gran parte de un sistema Android. Es el componente que permite que las aplicaciones de terceros escritas en Java se ejecuten en su teléfono o tableta. El sistema mismo inicia el DVM y, cuando presiona para iniciar una aplicación, funciona. Toma los datos dentro de los archivos.apk y utiliza un compilador Just-in-time (JIT), construye la información en un programa y luego la ejecuta. Tener partes del código ya optimizadas e integradas en un archivo que el DVM puede ejecutar agiliza el proceso y utiliza menos recursos. Eso es lo que es un archivo odex.

Archivos Odex

Los archivos odex que ve en la carpeta de su sistema son creados por las personas que escribieron y crearon la propia aplicación. Las aplicaciones de Android se escriben en Java, luego se convierten en bytecode. Luego, se convierten de los archivos.class compatibles con Java Virtual Machine estándar en un tipo especial de archivo que Dalvik VM puede leer. Estos se llaman archivos.dex. Cuando estos archivos.dex se colocan fuera del resto del código (que está en el archivo.apk), se queda con un archivo.odex independiente.

Hay muchas buenas razones para tener archivos.odex independientes. Aceleran los tiempos de arranque (especialmente el primer arranque), al construir el caché Dalvik a medida que se arranca el sistema. También ahorran algo de espacio apuntando al marco de Android siempre que sea posible, y permiten al desarrollador de la aplicación optimizar sus programas. Pero tener archivos seperate.odex no es muy amigable para los hackers.

Desodexación

Desodexar archivos significa tomar el archivo.odex independiente y el archivo.apk, y reconstruirlos para que toda esta información de la aplicación preconstruida esté contenida dentro del archivo.apk en lugar de su propio archivo. Los datos preconstruidos para la VM Dalvik ahora están en un archivo classes.dex dentro del archivo.apk, como en la imagen de arriba. Eso hace que los archivos.apk sean un poco más grandes, y no se pueden precargar cuando el sistema se enciende. Pero pueden ser modificados por piratas informáticos y ladrones.

Con todo el código y los datos del programa en un solo lugar, puede usar herramientas para "desarmar" la aplicación y editarla como desee. Así es como se hacen temas y ajustes como mods de porcentaje de batería para ROM "stock". Después de que un desarrollador realiza sus cambios, reconstruye el archivo.apk y los cambios pueden ejecutarse. Esto no afectará a ninguna otra parte del sistema porque ninguno de los códigos o datos se comparte con otras aplicaciones.

¿Cuál deberías elegir?

Eso depende realmente de usted, y cuáles serán sus necesidades, pero le sugiero que muestre una versión deodex siempre que sea posible. Sí, las ROM odex se inician más rápido, pero en realidad solo se nota en el primer inicio cuando todas las aplicaciones del sistema están almacenadas previamente en la memoria caché de Dalvik VM. También puede ahorrar un buen espacio utilizando archivos odex, pero este espacio está todo en la partición del sistema y no le dará espacio para más aplicaciones si su teléfono o tableta utiliza una partición de aplicación separada. Con los teléfonos modernos de hoy y sus procesadores multinúcleo y enormes bancos de RAM, ni siquiera notará tiempos de carga de aplicaciones más rápidos.

Si desea hacer cosas como cambiar la barra de estado o el tema TouchWiz o Sense, necesitará una ROM deodex. También necesitará una ROM deodex para hacer algunos de los ajustes profundos del sistema, como cambiar el menú de configuración o editar el marco. En resumen, si ya ha desbloqueado su gestor de arranque y ha rooteado, y está listo para una ROM personalizada, elegir una versión desdexada es probablemente la mejor opción. Te sorprenderán las cosas que estos desarrolladores locos pueden inventar, y seguramente te encontrarás con algunos que quieras probar por ti mismo.