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去冗余,并整合
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • zencart模板修改定制笔记9:如何修改定制某个边框标题[通俗易懂]

    zencart模板修改定制笔记9:如何修改定制某个边框标题[通俗易懂]zencart模板修改定制笔记9:如何修改定制某个边框标题.pdf下载地址:http://vdisk.weibo.com/s/31MWe/1331169427下一篇:zencart模板修改定制笔记10:?.pdf

  • 常用的微信编辑器

    常用的微信编辑器

    2021年10月12日
  • 学习如何搭建SpringBoot框架

    学习如何搭建SpringBoot框架SpringBoot是一个非常好用的框架,在项目中我们常常会用到它,今天我来分享一下如何来搭建一个SpringBoot框架。第一步:创建项目打开Idea,点击File->New->Project->SpringInitalizr选择依赖:即使不选择依赖也可以在后续pom.xml文件中添加点击Finish,Idea会自动生成一个SpringBoot项目,如此一来项目就创建好了。第二步:配置数据库到resource->application.proper

  • 软件漏洞分析简述

    软件漏洞分析简述软件漏洞1.1漏洞的定义漏洞,也叫脆弱性(英语:Vulnerability),是指计算机系统安全方面的缺陷,使得系统或其应用数据的保密性、完整性、可用性、访问控制等面临威胁。漏洞在各时间阶段的名称根据是否公开分为:未公开漏洞、已公开漏洞根据漏洞是否发现分为:未知漏洞、已知漏洞根据补丁和利用价值是否发布分为:0day漏洞、1day漏洞、历史漏洞图1漏洞在各时间阶段的名称漏洞的特…

  • BeanCopier常用方法 – cglib.beans常用工具类「建议收藏」

    BeanCopier常用方法 – cglib.beans常用工具类「建议收藏」BeanCopier是Cglib包中的一个类,用于对象的复制。①第一种两个bean间属性名和类型完全相同的变量进行拷贝Service层publicinterfaceSysUserService{/***新增用户数据*@paramsysUserBO*@return*/In…

  • Springboot+druid数据库连接池使用「建议收藏」

    Springboot+druid数据库连接池使用「建议收藏」1.为什么要使用数据库连接池使用数据库连接池主要考虑到程序与数据库建立连接的性能。创建一个新的数据库是一个很耗时的过程,在使用完之后,可能还需要不断的释放建立的连接,对资源的损耗大。而采用数据库连接池之后,首先就创建了固定数量的数据库连接,需要用的时候使用即可。当然,这样做的一个缺点是,可能某些时候完全没有数据库请求,但是也保持了数据库的最小连接数。浪费了…

发表回复

您的电子邮箱地址不会被公开。

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