2011-11-21 169 views
7

當然,.dex文件是針對Android的Dalvik虛擬機和.class文件是爲JVM。但我想知道他們是否有類似的佈局(常量池,字段,方法,屬性...)?字節碼是不同的,但有沒有Dalvik特定的操作碼等同於JVM的操作碼?.class和.dex文件有什麼區別?

+2

決不鑽進此,但是這是第一個步驟:http://www.slideshare.net/Bhavsidd/diff-of-class-and-dex-file(和這樣的:HTTP:/ /www.dalvikvm.com/ – MByD

+0

@BinyaminSharet第二個鏈接暫停,並且不包含任何有用的信息 –

+0

請看這篇文章,[.class和.dex文件之間的差異。](http://www.risesoftware。 com/pg/blog/Bhavya/read/889/class-and-dex-file之間的差異) – bharath

回答

15

而一個Java jar文件有很多類文件,每個APK文件只有一個 classes.dex文件,如下圖所示。根據Google的說法,出於性能和安全原因,APK格式 與類文件格式不同。

enter image description here

-1

Dalvik可執行格式是代碼,該虛擬機執行。 Dalvik VM無法執行Java字節碼,因此它必須編譯爲dex,因爲它使用了一個替代指令集。

閱讀wiki article

+1

OP已經知道了。請閱讀問題的第一句話。 – 2011-11-21 10:36:50

相關問題