В чем разница между файлами .class и .dex? - PullRequest
10 голосов
/ 21 ноября 2011

Конечно, файлы .dex предназначены для виртуальной машины Dalvik Android, а файлы .class - для JVM.Но мне интересно, есть ли у них похожие макеты (постоянный пул, поля, методы, атрибуты, ...)?Байт-код отличается, но есть ли специфичные для Dalvik эквиваленты кода операции с кодами из JVM?

Ответы [ 3 ]

18 голосов
/ 04 апреля 2014

В то время как файл jar Java содержит много файлов классов, каждый файл APK содержит только один файл classes.dex, как показано ниже.Согласно Google, формат APK отличается от формата файла класса по соображениям производительности и безопасности.

enter image description here

3 голосов
/ 21 ноября 2011

Существует Формат файла Dex и Спецификация формата файла класса от соответствующей компании.

Эти 2 файла совершенно разные.

0 голосов
/ 21 ноября 2011

Формат исполняемого файла Dalvik - это код, который выполняет виртуальная машина. Dalvik VM не может выполнить байт-код Java, его необходимо скомпилировать в dex, поскольку он использует альтернативный набор команд.

Прочитайте статью вики .

...