【问题标题】:What is the difference between .class and .dex files?.class 和 .dex 文件有什么区别?
【发布时间】:2011-11-21 10:13:32
【问题描述】:

当然,.dex 文件用于 Android 的 Dalvik VM,.class 文件用于 JVM。但我想知道它们是否有相似的布局(常量池、字段、方法、属性……)?字节码不同,但是否存在与 JVM 中的字节码等效的 Dalvik 特定操作码?

【问题讨论】:

标签: java android jvm dalvik


【解决方案1】:

Java jar 文件有很多类文件,而每个 APK 文件只有一个 classes.dex 文件,如下所示。根据谷歌,APK 格式 出于性能和安全原因,与类文件格式不同。

【讨论】:

    【解决方案2】:

    有来自各自公司的Dex File FormatClass File Format specification

    这两个文件完全不同。

    【讨论】:

    【解决方案3】:

    Dalvik 可执行文件格式是代码,VM 执行。 Dalvik VM 不能执行 Java 字节码,必须编译为 dex,因为它使用了备用指令集。

    阅读wiki article

    【讨论】:

    • OP 已经意识到了这一点。请阅读问题的第一句话。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2020-12-01
    • 1970-01-01
    相关资源
    最近更新 更多