11
votes

Quelle est la différence entre les fichiers .Class et .dex?

Bien sûr, .dex Les fichiers sont destinés à la machine virtuelle DALVIK des fichiers Android et .CLASS sont destinés à la JVM. Mais je me demande s'ils ont des mises en page similaires (piscine constante, champs, méthodes, attributs, ...)? Le bytecode est différent, mais existe-t-il des équivalents d'opcode spécifiques Dalvik à ceux de la JVM?


3 commentaires

Je n'ai jamais eu à cela, mais c'est une première étape: Slideshare. NET / BHAVSIDD / DIFF-OF-Class-and-Dex-File (et ceci: DALVIKVM.com < / a>)


Regardez sur cet article, différence entre .Class et fichier .dex.


@BinyAMInsharet Second Link est garé maintenant et ne contient aucune information utile


3 Réponses :


3
votes

Il y a un Format de fichier Dex et le Spécification du format de fichier de classe de la société respective.

Ces 2 fichiers sont complètement différents.


3 commentaires

+1 Le désassembleur DDEXER fournit des informations supplémentaires dédexer.sourceforge.net


Les liens semblent être cassés


Fixes liens brisés.



-1
votes

Le format exécutable DALVIK est le code, le VM exécute. Dalvik VM ne peut pas exécuter Java Bytecode, il doit être compilé à Dex, car il utilise un ensemble d'instructions alternatives.

Lire le Article Wiki .


1 commentaires

L'OP est au courant de cela déjà. Veuillez lire la première phrase de la question.



19
votes

Alors qu'un fichier JAVA JAR contient de nombreux fichiers de classe, chaque fichier APK n'a qu'un seul. fichier classes.dex, comme indiqué ci-dessous. Selon Google, le format APK diffère du format de fichier de classe pour des raisons de performance et de sécurité.

Entrez la description de l'image ici


0 commentaires