(七)移动端dex文件详解

(一)什么是dex文件
1.能够被DVM识别,加载并执行的文件格式
2.DVM执行的字节码:dvm:java->class->dex
(二)生成dex文件
1.run的时候,通过IDE自动帮我们build
2.手动通过dx命令去生成dex文件(usb链接手机运行生成apk)
(三) dex文件的作用
1.记录整个工程中所有类文件的信息,记住是整个app工程(区别于class文件,class文件记录的是每一个java源文件)
(四)dex文件的结构格式
1.一种8字节的二进制流文件
2.文件中各个数据按顺序紧密的排列,无间隙(存储的内容几乎全部都是程序运行的必要数据)
3.整个应用中所有的java源文件都放在一个dex中
文件结构:文件头、索引区、数据区。详细介绍内容可自行百度。。。
(五)
dex格式文件和class格式文件对比
1.本质上,它们都是一样的,dex是从class文件演变而来的
2.class文件存在许多冗余的信息,dex会去除冗余,并整合
3.class文件会有多个header,method,field区(每个class文件中都有),而dex文件只有一个header,一个数据区


class文件和dex文件对比.jpg

本文只是简单了解,如果想深入了解,请自行搜索。

你可能感兴趣的:((七)移动端dex文件详解)