Android手机的apk文件中的class.dex文件是什么?是做什么用的呢?

Android手机的apk文件中的class.dex文件是什么?是做什么用的呢?,第1张

简单说就是优化后的android版.exe。每个apk安装包里都有。相对于PC上的java虚拟机能运行.class;android上的Davlik虚拟机能运行.dex。

作用

让dalvik能够运行。

dex好处

可以直接用DexClassLoader类加载,动态加载。于是只要在dex上加壳,在程序运行时脱壳,就可以规避静态反编译的风险。

扩展资料

使用dex文件的原因

在Android系统中,锋游一个App的所有代码都在一个Dex文件里面。Dex是一个类似Jar的包,存储了很多Java编译字节码的慎基困归档文件。

因为Android系统使用Dalvik虚拟机,所以需要把使用宽念Java Compiler编译之后的class文件转换成Dalvik能够执行的class文件。

android手机的apk档案中的class.dex档案是什么?是做什么用的呢

Android虚拟机器执行的程式码档案,是JAVA档案编译过去的

dex是安卓上的应用程式apk中提取出来的可执行档案,即将APK中的classes.dex档案通过dex优化过程将其优化生成一个·dex档案单独存放,原APK中的classes.dex档案会保留。

所谓dex,是由android软体中的classes.dex生成的,dex化即是把那个档案预先提取出来作用是能加快软体载入速度和开机速度。不过dex也有缺点,那就是有时候加刷东西会出现问题。

原本系统恢复出厂设定后第一次开机需要先提取classes.dex出来,而姿旁神dex化就是现在你提前把它提取出来了。系统启动或者程式执行加快的原因也就在此。并且将dex变为odex还可以节省空间,因为提取后可以把apk内的dex删除。如果不odex,那么系统还是会自动提取dex,这时不仅apk内有dex,/data/dalvik-cache目录下也有dex,虽然apk内的dex经过压缩了,但是两份dex的总体积已经大于一份odex的体积了。

Odex化后系统启动和程式执行速度大大提高,稳启橡定性不变。因此推荐做Odex化。

一般来说官方rom都是odex化的rom(含Odex档案),而定制rom大部分都是deodex化的(无odex档案)。两者应该各有优点吧,貌似现在也没有统一的说法。官方rom大部分每个apk对应一个.odex档案,而deodex化的rom里面只有一个apk,把.odex转换成classes.dex放到apk包里面了。所以 odex rom的.apk+.odex=deodex化rom的1个迹亏.apk (简单地来说,其实就上一个合并的过程)。

Android手机的apk档案中的class.dex档案是什么?是做什么用的呢?

dx工具的作用是将.class转换为dex档案,因为Dalvik虚拟机器所执行的程式不是标准的Jar档案,而是将Jar档案经过特别的转换以提高执行效率,而转换后的档案就是dex档案。dx工具是Android原始码的一部分,其路径是在out目录下

手机images档案是做什么用的?

看楼主所说,应该是智慧手机.这是预设的存图片的资料夹,不过也可以放其他的东西,只要是手机支援的格式,都可以用.

xsd档案是做什么用的

XSD档案是用来描述指定型别的XML档案的大纲档案,是个纯 文字档案.

cmd档案是做什么用的

CMD可以做一些在Windows下面做不了的工作,有些时候解决一些问题必须在CMD下面在可以。

XP.CMD命令

有关某个命令的详细资讯,键入 HELP 命令名

ASSOC 显示或修改副档名关联。

AT 计划在计算机上执行的命令和程式。

ATTRIB 显示或更改档案属性。

BREAK 设定或清除扩充套件式 CTRL+C 检查。

CACLS 显示或修改档案的访问控制列表(ACLs)。

CALL 从另一个批处理程式呼叫这一个。

CD 显示当前目录的名称或将其更改。

CHCP 显示或设定活动内码表数。

CHDIR 显示当前目录的名称或将其更改。

CHKDSK 检查磁碟并显示状态报告。

就是执行一些命令的;

对你电脑的一些档案进行 *** 作的;

dmg档案是做什么用的?

Mac作业系统的一种档案格式。 dmg是MAC苹果机上的压缩映象档案,相当于在Windows上常见的iso档案。DMG在苹果机上可以直接执行载入,在Windows PC上可以通过命令列软体dmg2iso.exe转换成ISO档案。 命令执行格式:dmg2iso.exe 空格 filename(待转换档名).dmg 空格 filename(转换后文件名).iso 确定。 dmg2iso是一个免费软体,但其功能相对有限,某些情况下目标dmg档案无法成功转换为iso。这种情况下可以使用UltraISO等商业软体进行格式转换。 同时,使用者可以在程式-常用工具-磁碟工具里面建立,大小自己定义的dmg档案,用来放程式,档案打包,或用来做一个限定容量的路径。然后你可以对这个磁碟做你要做的事情,如用TOAST烧录。因此说,dmg档案在Mac中又相当于一个软U盘。

robots档案是做什么用的?

Robots.txt档案的作用:

1、遮蔽网站内的死连结。

2、遮蔽搜寻引擎蜘蛛抓取站点内重复内容和页面。

3、阻止搜寻引擎索引网站隐私性的内容。

因此建立robots.txt档案是很有必要的,网站中重复的内容、页面或者404资讯过多,搜寻引擎蜘蛛就会认为该网站价值较低,从而降低对该网站的“印象分”,这就是我们经常听到的“降低权重”,这样网站的排名就不好了。

robots.txt档案需要注意的最大问题是:必须放置在一个站点的根目录下,而且档名必须全部小写。

robots.txt档案的基本语法只有两条,第一条是:User-agent,即搜寻引擎蜘蛛的名称;第二条是:Disallow,即要拦截的部分。

下面我们看一下撰写基本的robots.txt档案所需要知道的一些语法和作用。

(1),允许所有的搜寻引擎访问网站的所有部分或者建立一个空白的文字文件,命名为robots.txt。

User-agent:*Disallow:或者User-agent:*Allow:/

(2),禁止所有搜寻引擎访问网站的所有部分。

User-agent:*Disallow:/

(3),禁止百度索引你的网站。

User-agent:BaiduspiderDisallow:/

(4),禁止Google索引你的网站。

User-agent:GooglebotDisallow:/

(5),禁止除百度以外的一切搜寻引擎索引你的网站。

User-agent:BaiduspiderDisallow:User-agent:*Disallow:/

(6),禁止除Google以外的一切搜寻引擎索引你的网站。

User-agent:GooglebotDisallow:User-agent:*Disallow:/

(7),禁止和允许搜寻引擎访问某个目录,如:禁止访问admin目录;允许访问images目录。

User-agent:*Disallow:/admin/Allow:/images/

(8),禁止和允许搜寻引擎访问某个字尾,如:禁止访问admin目录下所有php档案;允许访问asp档案。

User-agent:*Disallow:/admin/*.php$Allow:/admin/*.asp$

(9),禁止索引网站中所有的动态页面(这里限制的是有“?”的域名,如:index.php?id=8)。

User-agent:*Disallow:/*?*

clx 档案是做什么用的?

CLX(Component Library for Cross-Platform 跨平台元件库)是可以应用在Win32和Linux两种平台上的. 用Delphi 7 开发的CLX程式,可以不做任何修改,在Linux下用Kylix重新编译. Delphi 7现在支援VCL和CLX两个类库。CLX在底层是基于Qt这个类库的,在Linux系统上面Qt的名字是非常重要的。

Java文件-----应用程序源文件

Android本身相当一败巧旅部分都是用java编写而成(基本上架构图里头蓝色的部份都是用Java开发的),android的

应用必须使用java来开发

Class文件------Java编译后的目标文件

不像J2se,java编译成class就可以直接运行,android平台上class文件不能直接在android上运行。 由于Google

使用了自己的Dalvik来运行应用, 所以这里的class也肯定不能在AndroidDalvik的java环境中运行, android

的class文件实际上只是编译过程中的中间目标文件,需要链接成dex文件后才能在dalvik上运行

Dex文件-----Android平台上的可执行文件

Android虚拟机Dalvik支持的字节码文件格式Google在新发布的Android平台上使用了自己的Dalvik虚拟机

来定义, 这种虚拟机执宽野行的并非Java字节码, 而是另一种字节码: dex格式的字节码。在编译Java代码之后,

通过Android平台上的工具可以将Java字节码转换成Dex字节码。虽然Google称Dalvik是为了移动设备定

做的,但是业界很多人认为这是为了规避向sun申请Javalicense。这个DalvikVM针对手机程式/CPU做过最

佳化,可以同时执行许多VM而不会占用太多Resource。

Apk文件-------Android上的安装文件

Apk是Android安装包的扩展名,一个Android安装包包含了与某个Android应用程序相关的所有文件。apk

文件将AndroidManifest.xml文件、应用程序代码(.dex文件)、资源文件和其他文件打成一个压缩包。一个工

程只能打进一个.apk文件

Android的4种文件类型Java,class,dex,apk的更多相关文章

【Linux】七种文件类型

Linux中的七种文件类型 d 目录文件. l 符号链接(指向另一个文件). s 套接字文件. b 块设备文件,二进制文件. c 字符设备文件. p 命名管道文件. - 普通文件

Linux 下的7种文件类型

普通文件类型 (-)Linux中最多的一种文件类型, 包括 纯文本文件(ASCII):二进制文件(binary):数据格式的文件(data)各种压缩文件.第一个属性为 [-] ,这些文件一般是用一些 ...

linux文件的3个时间和7种文件类型

linux文件的三个时间: atime: access time --最近访问时间. ctime: change time --最近改变时间. mtime:modify time --最近修改时间. ...

搞懂Linux下的几种文件类型

在Linux系统下,有七类文件类型: 普察凳通文件(-) 目录(d) 软链接(字符链接L) 套接字文件(S) 字符设备(S) 块设备(B) 管道文件(命名管道P) 普通文件.目录.软链接无需多解释. 管道 ...

Linux 文件系统 -- 简述几种文件类型

Linux 中一切皆为文件,文件类型也有多种,使用 ls -l 命令可以查看文件的属性,所显示结果的第一列的第一个字符用来表明该文件的文件类型,如下: 1.普通文件 使用 ls -l 命令后,第一列第 ...

Java主要有那几种文件类型?各自的作用是什么

1.源代码.java程序员编译的源代码. 2..class 字节码文件 jvm实现跨平台的中间编译文件. 3.jar包 讲字节码文件打包好,便于查找和使用.

Java主要有那几种文件类型,各自作用

java提供了两类数据类型:基本类型,引用类型. 1.基本类型包括:boolean ,byte,char,int,short,float,long,double,值得注意的是:在原始数据类型中,除了b ...

9.Java主要有那几种文件类型?各自的作用是什么?

java类源代码.jsp页面.class编译后的类文件.xml一般是配置文件当然也可以用来传数据时候用.properties这也是配置文件.数据文件.

idea Mark Directory as 的几种文件类型

1. Source roots (or source folders) 源文件夹 通过为该类别分配文件夹,可以告诉IntelliJ IDEA该文件夹及其子文件夹包含应在构建过程中进行编译的源代码. 2 ...

随机推荐

Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition

Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition Property animation系统还提供了对ViewGroup中的View改变 ...

Android中利用ViewHolder优化自定义Adapter的典型写法

利用ViewHolder优化自定义Adapter的典型写法 最近写Adapter写得多了,慢慢就熟悉了. 用ViewHolder,主要是进行一些性能优化,减少一些不必要的重复 *** 作.(WXD同学教我的. ...

初学Spring有没有适合的书

初学者之前没有阅读java框架源码的习惯.没有阅读过源码,知道整体流程么?知道依赖注入的概念么?知道aop么?知道其中用到了哪些设计模式么?再说了,如果一上手就是源码?难道你没有注意到Spring的类 ...

Android draw9patch 图片制作与使用

理解一下4句话: 上边 决定左右拉升不变形 左边 决定上下拉升不变形 右边 设置内容高度区域 下边 设置内容宽度区域 下面我拿张图片分别举例说明: 1.QQ多彩气泡 聊天对话框也用.9图片制作 继承过 ...

iOS 学习资源

这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...

Palo(OLAP database)–MOLAP

本地安装:D:\Program Files (x86)\Jedox Palo-Server https://www.openhub.net/p/p4155 维基百科:https://en.wiki ...

ios UIScrollView 中控件自动增加间隔

设置 self.automaticallyAdjustsScrollViewInsets=FALSE去除自动间隔功能

网站添加数据出错,原来是MS SQL Server2008日志文件占据空间过大导致的

最近发现公司上线的八爪鱼招标网有部分功能出现问题,主要表现为无法向数据库插入数据:远程登陆到数据库服务器时,发现原本的40G空间都被数据库吃完了,于是打开MS SQL Server 2008对数据库进 ...

js 求时间差

var date1=new Date() //开始时间 var date2=new Date() //结束时间 var date3=date2.getTime()-date1.getTim ...

MySQL基础学习(二) 常用SQL命令

一. 1. select version() 查看数据库版本 2. select user()查看当前用户 3. select now()查看当前时间 4. show databases.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12241076.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存