Para obtener información general, es posible que desee consultar la etiqueta odex tag-wiki y el tag-wiki para la etiqueta dalvik. Pero su pregunta incluso abarca algunas partes que no están contenidas allí, y solo ahora me di cuenta de que de hecho todos los archivos .apk
parecen incluir archivos .dex
(siempre pensé que solo las aplicaciones "odexed" hacían eso), y parece que tienes razón en lo que significa la "O", al menos tiene mucho sentido. Así que perdóname, ¡no soy un desarrollador! :)
Pero aún así, podría ser capaz de responder al menos una parte de tu pregunta.
Sí, tu descripción parece coincidir con cómo funciona (hasta el signo de interrogación, al menos). Pero, según mi conocimiento, ninguna aplicación debería descargar e instalar archivos .dex
por separado. Si no se está ejecutando con permisos de root, incluso sería difícil (ya que la aplicación no podría escribir en /data/dalvik-cache
, careciendo de los permisos de archivo). Por lo tanto, podemos omitir la segunda parte, ya que, según la lógica de Aristóteles, a partir de una suposición incorrecta se podría deducir cualquier cosa :)
Segundo: Sí, el sistema mantiene los archivos .apk
. Si su dispositivo tiene instalado un Recovery Personalizado, podría borrar manualmente la memoria caché de Dalvik desde allí, lo que obligaría al sistema Android a regenerarlo en el próximo arranque. Básicamente, esto también se hace para las aplicaciones del sistema (los archivos .apk
se encuentran en /system/apps
para esos, y por lo tanto sobreviven a un restablecimiento de fábrica), especialmente cuando se realiza un restablecimiento de fábrica.
Tercero: Oh, ya respondido. Sí, borrando la memoria caché de Dalvik.
0 votos
Así como el archivo .class (código de bytes) se ejecuta en JRE en sistemas de escritorio. Android tiene Dalvik o ART que entiende el código de bytes pero en formato .dex. Para Android, el archivo .class se convierte en un archivo .dex y luego se forma el apk.