小编典典

Android 中的 .dex 文件是什么?

all

我有一些关于 dex 文件的问题

  • dexAndroid中的文件是什么?
  • dex 在 Android 上是如何工作的?
  • 它们如何用于调试 Android 应用程序?
  • 它们类似于 java 类文件吗?

我需要具体信息,请对此提供帮助,欢迎任何真实示例!


阅读 69

收藏
2022-06-21

共1个答案

小编典典

关于 .dex 文件:

(Android 系统下的主力)最显着的特点之一Dalvik Virtual Machine是它不使用 Java 字节码。相反,引入了一种称为 DEX
的本土格式,甚至字节码指令都与 Java 字节码指令不同。

Compiled Android application code file.

Android 程序被编译成.dex(Dalvik 可执行文件)文件,这些文件又被压缩到设备上的单个.apk文件中。.dex可以通过自动翻译用
Java 编程语言编写的已编译应用程序来创建文件。

dex文件格式:

 1. File Header
 2. String Table
 3. Class List
 4. Field Table
 5. Method Table
 6. Class Definition Table
 7. Field List
 8. Method List
 9. Code Header
10. Local Variable List

Android 有关于Dalvik Executable Format.dex 文件)的文档。您可以在官方文档中找到更多信息:Dex
文件格式

.dex文件类似于 java 类文件,但它们在较旧的 Android 版本上的 Dalkvik 虚拟机 (DVM) 下运行,并在设备上安装时编译为带有
ART 的较新 Android 版本的本机代码。

您可以使用android-sdk 中提供decompile的工具 .dex 。dexdump

还有一些 逆向工程技术 可以从文件中生成jar filejava class file生成.dex文件。

2022-06-21