dex文件详解

dex文件详解1、基本概念能被DVM虚拟机识别,加载并执行的文件格式2、生成dex文件1、通过IDE自动帮我们build生成2、手动通过dx命令去生成dex文件3、在手机上手动运行dex文件3、使用dx命令来生成dex文件首先得要先配置dx环境变量,这个环境变量怎么配呢?找到的sdk的安装目录,然后进入build-tools目录,这里是你电脑上的所有sdk的安装目录,随便选择一个进去,就可以知道dx.b

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

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.net/153524.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 对贝叶斯理解以及解释贝叶斯函数「建议收藏」

    对贝叶斯理解以及解释贝叶斯函数「建议收藏」贝叶斯

    2022年5月7日
    66
  • instsrv.exe srvany.exe用法「建议收藏」

    instsrv.exe srvany.exe用法「建议收藏」nstsrv.exe——来自Windows 2000 Resource Kits的一个小工具  微软官方对该小工具的说明:Installs and uninstalls executable services and assigns names to them.显而易见,这个小工具是用以安装和卸载可执行的服务和指派服务名给这些可执行的服务的。那么怎么去使用呢?这里我们设定要将F

    2022年6月11日
    27
  • vue-router传递参数的几种方式

    vue-router传递参数的几种方式vue-router传递参数分为两大类编程式的导航router.push声明式的导航<router-link>编程式的导航router.push编程式导航传递参数有两种类型:字符串、对象。字符串字符串的方式是直接将路由地址以字符串的方式来跳转,这种方式很简单但是不能传递参数:this.$router.push("home");对象想要传递参数主要就是以对象的方式来写,分为两种方…

    2022年7月11日
    23
  • 程序员工资统计_中国程序员工资

    程序员工资统计_中国程序员工资此调查,是对北京、上海、广东和浙江等全国29个省、直辖市及特别行政区的26W+优秀程序员进行了一次详细的调查,形成本报告。根据中国互联网络信息中心(CNNIC)近日发布第43次《中国互联网络发展状况统计报告》。截至2018年12月,中国网民规模为8.29亿,全年新增网民5653万。网上外卖用户规模达4.06亿,同比增长18.2%;网络视频用户规模达6.1…

    2022年10月11日
    0
  • Google资深工程师深度讲解Go语言-测试与性能调优(八)

    Google资深工程师深度讲解Go语言-测试与性能调优(八)

    2022年2月16日
    51
  • python取余什么意思_python中取余

    python取余什么意思_python中取余首先取响应头里的编码,如果是几种中文编码之一,则认为中文网页,如果不是中文编码,也不是几种unicode方案之一,则不是中文.否则再在标签里找charset,如果有并且为几种中文编码之一,则是中文如果不是中文编码,也不是几种unicode方案之一,则不是中文.否则对body的内容(如果考虑性能问题,可以不对整个body,只对前N个字节)用正则洗标签过滤所有ASCII码字符,剩余部分…

    2022年4月25日
    74

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号