2011-11-21 20 views
7

Por supuesto, los archivos .dex son para la máquina virtual Dalvik de Android y los archivos .class son para la JVM. Pero me pregunto si tienen diseños similares (Grupo constante, Campos, Métodos, Atributos, ...)? El bytecode es diferente, pero ¿hay códigos de operación específicos de Dalvik equivalentes a los de la JVM?¿Cuál es la diferencia entre los archivos .class y .dex?

+2

Nunca se metió en esto, pero este es un primer paso: http://www.slideshare.net/Bhavsidd/diff-of-class-and-dex-file (y esto: http://www.dalvikvm.com/) – MByD

+0

@BinyaminSharet El segundo enlace está estacionado ahora y no contiene ninguna información útil –

+0

Consulte este artículo, [Diferencia entre .class y .dex file.] (http: //www.risesoftware. com/pg/blog/Bhavya/read/889/difference-between-class-and-dex-file) – bharath

Respuesta

15

Mientras que un archivo jar de Java tiene muchos archivos de clase, cada archivo APK tiene solo un único archivo classes.dex, como se muestra a continuación. Según Google, el formato APK difiere del formato de archivo de clase por razones de rendimiento y seguridad.

enter image description here

-1

El formato ejecutable de Dalvik es el código que ejecuta la VM. Dalvik VM no puede ejecutar bytecode de Java, debe compilarse a dex, ya que utiliza un conjunto de instrucciones alternativo.

Lea el wiki article.

+1

El OP ya lo sabe. Por favor, lea la primera oración de la pregunta. –

Cuestiones relacionadas