No dudes en compartir nuestra página y códigos en tus redes, necesitamos tu ayuda para aumentar esta comunidad.
Solución:
UN .dex
El archivo es básicamente una versión de código de bytes compilada de una aplicación que se ha creado para la máquina virtual Dalvik en la que se ejecutan las aplicaciones de Android. Creo que es la abreviatura de Dalvik Executable, pero no estoy seguro de recordarlo correctamente.
Un .odex
el archivo es un archivo optimizado .dex
file (de ahí la ‘o’), lo que significa que básicamente ha sido precompilado para una plataforma específica. La ventaja de esto es que el tiempo de inicio es mucho más rápido ya que la VM no tiene que realizar ninguna optimización en el tiempo de inicio/ejecución. Las desventajas son 1) que ocupa algo de espacio adicional y 2) una aplicación indexada no se ejecutará correctamente si se coloca en otro dispositivo, y debe tener el asociado .odex
archivo para ejecutar en absoluto.
Las ROM generalmente se lanzan en forma desdexada porque pueden ser tematizadas y modificadas con bastante facilidad, mientras que la creación de un tema/modificación de una ROM indexada es básicamente imposible (en el mejor de los casos, las cosas colapsarían como locas). Algunas personas también eligen lanzar sus ROM en versiones indexadas para las personas que prefieren las ganancias de rendimiento.
La mayoría de las ROM de stock que he visto están indexadas, supongo que porque los operadores/fabricantes quieren aumentar el rendimiento. Tampoco tienen ningún tipo de método oficial de creación de temas, por lo que probablemente no les importe si no puedes cambiar los colores de tus íconos de estado o el texto de tu sistema o lo que sea. Además, tienen la ventaja de saber en qué dispositivo quieren que se ejecute su sistema, por lo que pueden precompilar el .odex
archivos con mucha facilidad, me imagino. Como bono adicional, hace que sea difícil tirar .apk
archivos fuera del dispositivo y compártalos con otras personas.
Editar: Como me acabo de dar cuenta de que no fui muy explícito sobre la diferencia aquí: una ROM “odexada” es aquella en la que las aplicaciones se han compilado previamente y, por lo tanto, contienen .odex
archivos que son externos a la .apk
archivos Una ROM “desdexada” es aquella en la que los datos que se optimizarían en el .odex
archivos se ha fusionado más o menos de nuevo en el .apk
(lo que significa que no está optimizado sino que es básicamente independiente de la plataforma), por lo tanto, el .apk
los archivos son autónomos y no hay .odex
archivos Por lo general, esto solo se hace con una utilidad de descodificación, como smali/baksmali.
Personalmente quería saber la respuesta a esto hace un rato. Esto es lo que se me ocurrió:
Odexado y Deodexado
Se supone que una ROM estándar se indexa para su lanzamiento, lo que proporciona una carga de aplicaciones en la memoria más fluida y rápida. Cada .apk tiene un .odex correspondiente. Cuando la aplicación es utilizada por el sistema o el usuario, el .odex se usa para comenzar a cargar la aplicación. Una ROM que se desodexa solo tiene el archivo .apk. Cuando la aplicación se llama a la memoria solo extrayendo los datos de su .apk, esto lleva más tiempo debido a que no está optimizado para una recuperación más fácil del sistema.
Las preguntas comunes que me hacen con demasiada frecuencia son:
- ¿Por qué se desodexan las ROM personalizadas?
- ¿Debo usar una ROM odexada o desodexada?
Para responder a estas preguntas todo se reduce a una palabra, capacidad. Si habla con alguien que tematiza ROM, le dirá que es extremadamente más fácil tematizar una ROM desdodexada. Desde que comenzamos a usar ROM desodexadas, los creadores de temas ahora podían crear temas para aplicar a una ROM en lugar de la tediosa opción de tematizar la ROM en sí (lanzar una ROM personalizada para un tema). Si usa una ROM indexada e intenta aplicar temas, no funcionará o solo tema algunos aspectos visuales, lo que le dará una interfaz de usuario terrible para experimentar.
Desventajas de Deodex
Apuesto a que ahora se está preguntando por qué… ¿por qué hay una opción para descargar una ROM personalizada que está indexada? La respuesta a eso es la velocidad. ¿Recuerdas que dije que los archivos indexados están optimizados para una recuperación más fácil? En pocas palabras… está optimizado (como indexar una tabla de datos) para que el sistema pueda abrir el .apk más rápido.
Deodex y zipalign
Todos querían lo mejor de ambos mundos tan rápidamente después de que la tendencia de desdodexado comenzara a alcanzar su punto máximo, estos expertos desarrolladores de ROM idearon una solución para zipalign en el arranque. Esto optimiza cada .apk en cada reinicio, lo que permite que el sistema acceda a las aplicaciones de manera más eficiente y, lo que es más importante, más rápido. Por supuesto, la desventaja son los tiempos de arranque ligeramente más lentos.
Resumen
Si tiene la opción de descargar la ROM personalizada odexada o desodexada, simplemente elegiría la ROM deodex. Nunca se sabe cuándo querría probar un tema o hacer algunas modificaciones usted mismo y es bueno tener opciones fáciles en lugar de actualizar una ROM completamente nueva. Con los dispositivos más nuevos, es posible que ni siquiera vea una diferencia notable con zipalign en el arranque. Si su dispositivo es bastante lento y está desactualizado, le sugiero que piense un poco más en esto. Apuesto a que algunos de ustedes preferirían obtener una ROM mínimamente optimizada (odexada) para un mejor rendimiento y velocidad en lugar de personalizar la interfaz de usuario.
Si eres nuevo en el tema, puedes encontrar algunos términos comunes ubicados en mi artículo original aquí: http://codeversed.com/deodexed-vs-odexed-rom
De lo contrario, lo anterior le muestra todo lo que necesita saber. Si me perdí algo, por favor házmelo saber 🙂
Un archivo .dex (ejecutable dalvik) es básicamente similar a los archivos .exe de Windows (excepto en el lenguaje de Dalvik VM, en lugar del código compilado). Básicamente, .odex (ejecutable dalvik optimizado) y deodex (ejecutable dalvik no optimizado) se relacionan con la forma en que se manejan los archivos de recursos en las aplicaciones. El .odex es un archivo .dex que ha sido optimizado por el programa dexopt: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html
Ventaja
- odex es más rápido
- facilita la tematización
Desventaja
- deodex es más lento en el primer inicio
- los archivos .odex dificultan la tematización
Si sostienes algún dificultad o capacidad de beneficiar nuestro sección te recomendamos ejecutar un paráfrasis y con deseo lo observaremos.