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?
Respuesta
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.
Hay Dex File Format y Class File Format specification de la empresa correspondiente.
Estos 2 archivos son completamente diferentes.
+1 El ddexer desensamblador proporciona información adicional http://dedexer.sourceforge.net/ – stacker
+1 para vincular a la documentos oficiales :) – JesusFreke
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.
El OP ya lo sabe. Por favor, lea la primera oración de la pregunta. –
- 1. ¿Cuál es la diferencia entre @class y import
- 2. ¿Cuál es la diferencia entre Class y Klass en ruby?
- 3. ¿cuál es la diferencia entre ".class element" y "element.class"?
- 4. iPhone SDK: ¿cuál es la diferencia entre #import y @class?
- 5. Cuál es la diferencia entre Class Path y Build Path
- 6. ¿Cuál es la diferencia entre los archivos .lib y .a?
- 7. ¿Cuál es la diferencia entre los archivos apklib y jar?
- 8. ¿Cuál es la diferencia entre los archivos .so y .a?
- 9. ¿Cuál es la diferencia entre los archivos .htc y .js?
- 10. ¿Cuál es la diferencia entre los archivos .dll, .lib, .h?
- 11. ¿Cuál es la diferencia entre los archivos estáticos y los archivos multimedia en Django?
- 12. ¿Cuál es la diferencia entre los nuevos Some :: Class y Some :: Class-> new() en Perl? Hace
- 13. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 14. ¿Cuál es la diferencia entre ".equals" y "=="?
- 15. ¿Cuál es la diferencia entre # import y @class, y cuándo debo usar uno sobre el otro?
- 16. ¿Cuál es la diferencia entre {0} y ""?
- 17. Cuál es la diferencia entre = y: =
- 18. ¿Cuál es la diferencia entre .ToString (+) y ""
- 19. Cuál es la diferencia entre $ (...) y `...`
- 20. ¿cuál es la diferencia entre:.! y: r !?
- 21. ¿Cuál es la diferencia entre dict() y {}?
- 22. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 23. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 24. ¿Cuál es la diferencia entre + = y = +?
- 25. ¿Cuál es la diferencia entre " " y ""?
- 26. Cuál es la diferencia entre $ y jQuery
- 27. ¿Cuál es la diferencia entre los eventos Control.Enter y Control.GotFocus?
- 28. ¿cuál es la diferencia entre los navegadores y el nodo?
- 29. ¿Cuál es la diferencia entre los algoritmos genéticos y evolutivos?
- 30. ¿Cuál es la diferencia entre los datos-dojotype y dojoType?
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
@BinyaminSharet El segundo enlace está estacionado ahora y no contiene ninguna información útil –
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