当然,.dex
文件适用于Android的Dalvik VM,.class
文件适用于JVM。但我想知道他们是否有类似的布局(常量池,字段,方法,属性......)?字节码是不同的,但Dalvik特定的操作码与JVM中的操作码等价吗?
答案 0 :(得分:18)
虽然Java jar文件有许多类文件,但每个APK文件只有一个 classes.dex文件,如下所示。根据谷歌的APK格式 出于性能和安全原因,它与类文件格式不同。
答案 1 :(得分:3)
来自相应公司的Dex File Format和Class File Format specification。
这两个文件完全不同。
答案 2 :(得分:-1)
Dalvik可执行文件格式是VM执行的代码。 Dalvik VM无法执行Java字节码,必须将其编译为dex,因为它使用备用指令集。
阅读wiki article。