zl程序教程

您现在的位置是:首页 >  其他

当前栏目

dex文件详解

文件 详解 Dex
2023-06-13 09:12:33 时间

大家好,又见面了,我是你们的朋友全栈君。

1、基本概念

能被DVM虚拟机识别,加载并执行的文件格式

2、生成dex文件

1、通过IDE自动帮我们build 生成 2、手动通过dx命令去生成dex文件 3、在手机上手动运行dex文件

3、使用dx命令来生成dex文件

首先得要先配置dx环境变量,这个环境变量怎么配呢?找到的sdk的安装目录,然后进入build-tools目录,这里是你电脑上的所有sdk的安装目录,随便选择一个进去,就可以知道dx.bat,然后将他配置到环境变量中去,就可以使用dx命令了。
先生成java字节码文件
![这里写图片描述](https://img-blog.csdn.net/20170717222550583?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHFfc3E=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然后生成dex文件
![这里写图片描述](https://img-blog.csdn.net/20170717222812708?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHFfc3E=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 
使用adb命令,将文件放到手机上去
![这里写图片描述](https://img-blog.csdn.net/20170717222941672?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHFfc3E=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
执行dex文件,首先得通过adb命令来登陆到手机中,进入手机的控制台,最后通过dalvikvm来执行dex文件
![这里写图片描述](https://img-blog.csdn.net/20170717223459876?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHFfc3E=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

4、dex文件的作用

记录整个工程中所有类文件的信息,而class文件是一个的类的所有信息

5、dex文件的结构

1、一种8位字节的二进制流文件
2、各个数据按顺序紧密的排列,无间隙
3、整个应用中所有的java源文件都放在一个dex中(不考虑android multidex)

![这里写图片描述](https://img-blog.csdn.net/20170717224700268?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHFfc3E=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

6、dex文件和class文件的异同

1、本质上他们都是一样的,dex是通过class文件演变而来
2、class文件存在许多冗余的信息,dex去冗余,并整合

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153524.html原文链接:https://javaforall.cn