2011-11-21 24 views
7

Oczywiście pliki .dex są przeznaczone dla maszyn wirtualnych Dalvik VM z Androidem i plików .class dla JVM. Ale zastanawiam się, czy mają podobne układy (pula stała, pola, metody, atrybuty, ...)? Kod bajtowy jest inny, ale czy są tam specyficzne dla Dalvika odpowiedniki dla kodów z JVM?Jaka jest różnica między plikami .class i .dex?

+2

Nigdy nie dostał się do tego, ale to jest pierwszy krok: http://www.slideshare.net/Bhavsidd/diff-of-class-and-dex-file (i to: http://www.dalvikvm.com/) – MByD

+0

@BinyaminSharet drugi link jest zaparkowany teraz i nie zawiera żadnych przydatnych informacji –

+0

Zobacz ten artykuł, [Różnica między .class i .dex plik.] (http: //www.risesoftware. com/pg/blog/Bhavya/read/889/plik różnicowy-klasa-i-dex) – bharath

Odpowiedz

15

Podczas gdy plik JAR Javy ma wiele plików klas, każdy plik APK ma tylko jeden plik classes.dex, jak pokazano poniżej. Według Google format APK w formacie różni się od formatu pliku klasy ze względu na wydajność i bezpieczeństwo.

enter image description here

-1

Plik wykonywalny Dalvik jest kodem, maszyna wirtualna jest wykonywana. Dalvik VM nie może wykonywać kodu bajtowego Java, musi być skompilowany do dex, ponieważ używa alternatywnego zestawu instrukcji.

Przeczytaj wiki article.

+1

PO już o tym wie. Przeczytaj pierwsze zdanie pytania. –

Powiązane problemy