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?
Odpowiedz
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.
Istnieje Dex File Format i Class File Format specification z odpowiedniej firmy.
Te 2 pliki są całkowicie różne.
+1 Dezinstalator ddexer zapewnia dodatkowe informacje http://dedexer.sourceforge.net/ – stacker
+1 dla linków do oficjalne dokumenty :) – JesusFreke
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.
PO już o tym wie. Przeczytaj pierwsze zdanie pytania. –
- 1. Jaka jest różnica między plikami ELF i bin?
- 2. Jaka jest różnica między plikami .lib i .a?
- 3. Jaka jest różnica między plikami Pyc i Pyo w Pythonie?
- 4. Jaka jest różnica między? : i ||
- 5. Jaka jest różnica między $ i $$?
- 6. Jaka jest różnica między "ignorowanymi plikami" IntelliJ a .gitignore
- 7. Jaka jest różnica między! = I =! w Javie?
- 8. Jaka jest różnica między BrowserAnimationsModule i NoopAnimationsModule?
- 9. Jaka jest różnica między getAbsolutePath i getCanonicalPath
- 10. jaka jest różnica między @ i @@ w module?
- 11. Jaka jest różnica między System.Linq.Enumerable.WhereListIterator i System.Linq.Enumerable.WhereSelectListIterator?
- 12. Jaka jest różnica między getSupportFragmentManager() i getChildFragmentManager()?
- 13. Jaka jest różnica między Subtotal i BaseSubtotal?
- 14. Jaka jest różnica między DetachedCriteria i ICriteria
- 15. Jaka jest różnica między & # x00A0; i ?
- 16. Jaka jest różnica między lex i yacc
- 17. jaka jest różnica między dijit i dojo
- 18. Jaka jest różnica między Control.Select() i Control.Focus()?
- 19. Jaka jest różnica między System.Windows.Controls.Control i System.Windows.Forms.Control?
- 20. Jaka jest różnica między apletami i SWING?
- 21. Jaka jest różnica między session.commit() i session.flush()?
- 22. Jaka jest różnica między ImageView.setBackgroundResource i ImageView.setImageResource?
- 23. Jaka jest różnica między Konwertuj i parsuj?
- 24. Jaka jest różnica między JSP i JSTL?
- 25. Jaka jest różnica między Lazarus i CodeTyphon
- 26. Jaka jest różnica między crc32 i crc32b?
- 27. Jaka jest różnica między TypedArray.getInteger() i TypedArray.getInt()?
- 28. jaka jest różnica między ARM7 i ARM7s
- 29. Jaka jest różnica między http_build_str() i http_build_query()?
- 30. Jaka jest różnica między "CompletionStage" i "CompletableFuture"?
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
@BinyaminSharet drugi link jest zaparkowany teraz i nie zawiera żadnych przydatnych informacji –
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