當然,.dex
文件是針對Android的Dalvik虛擬機和.class
文件是爲JVM。但我想知道他們是否有類似的佈局(常量池,字段,方法,屬性...)?字節碼是不同的,但有沒有Dalvik特定的操作碼等同於JVM的操作碼?.class和.dex文件有什麼區別?
回答
而一個Java jar文件有很多類文件,每個APK文件只有一個 classes.dex文件,如下圖所示。根據Google的說法,出於性能和安全原因,APK格式 與類文件格式不同。
有一個Dex File Format和Class File Format specification從各自的公司。
這2個文件是完全不同的。
+1反彙編器ddexer提供附加信息http://dedexer.sourceforge.net/ – stacker
+1鏈接到官方文檔:) – JesusFreke
Dalvik可執行格式是代碼,該虛擬機執行。 Dalvik VM無法執行Java字節碼,因此它必須編譯爲dex,因爲它使用了一個替代指令集。
閱讀wiki article。
OP已經知道了。請閱讀問題的第一句話。 – 2011-11-21 10:36:50
- 1. final Class和Class有什麼區別?
- 2. class alv和function alv有什麼區別
- 3. Class Path和Build Path有什麼區別
- 4. iPhone SDK:#import和@class有什麼區別?
- 5. `String.class`和`new Class [] {String.class}`有什麼區別?
- 6. h1.class和h1(空格)之間有什麼區別.class
- 7. Class clazz和Class <?> clazz在java中有什麼區別?
- 8. Perl中的新Some :: Class和Some :: Class-> new()有什麼區別?
- 9. C#中「Class」和「Private Class」聲明有什麼區別?
- 10. 在R中,class ts和class timeSeries之間有什麼區別?
- 11. io_submit和O_ASYNC文件有什麼區別
- 12. .out和.log文件有什麼區別
- 13. XIB和NIB文件有什麼區別?
- 14. .sqlite和.db文件有什麼區別?
- 15. .lib和.a文件有什麼區別?
- 16. .bin和.dat文件有什麼區別?
- 17. MDB和SDF文件有什麼區別?
- 18. * .bat和* .cmd文件有什麼區別?
- 19. .htc和.js文件有什麼區別?
- 20. apklib和jar文件有什麼區別?
- 21. HDF5:「文件緩衝區」和「文件緩存」有什麼區別?
- 22. .Kdb文件,.jks文件和CMS文件有什麼區別?
- 23. 有什麼區別`和$(Bash中有什麼區別?
- 24. jQuery中的class和id有什麼區別?
- 25. class_eval和class << className有什麼區別?
- 26. 設置關係時,User :: class和App \ User有什麼區別?
- 27. 'class'和'type'的概念有什麼區別?
- 28. 「.class元素」和「element.class」之間有什麼區別?
- 29. 在DBIx :: Class中填充和創建方法有什麼區別?
- 30. ==和===有什麼區別?
決不鑽進此,但是這是第一個步驟:http://www.slideshare.net/Bhavsidd/diff-of-class-and-dex-file(和這樣的:HTTP:/ /www.dalvikvm.com/ – MByD
@BinyaminSharet第二個鏈接暫停,並且不包含任何有用的信息 –
請看這篇文章,[.class和.dex文件之間的差異。](http://www.risesoftware。 com/pg/blog/Bhavya/read/889/class-and-dex-file之間的差異) – bharath