android 闲话dex

 一. dex文件在哪里? 

    地球人都知道,android安装包是apk后缀的,普通用户根本不知道什么是dex文件,那什么是dex文件呢??哈哈,其实他是apk的一个很重要的组成部分。大家都在用微信,用微信做例子好啦,下面是一个微信的apk


     咦,不就是一个普通的apk吗?慢着,让我解压给你们看看里面藏着什么鬼。将文件后缀改成.zip,将weixin.apk重命名为weixin.zip,然后解压看看


    各位看官都看到了吧,解压apk文件后可以看到class.dex文件


二.dex文件是什么?

     dex文件是什么呢?他类似于java的class文件,里面保存着android类的信息。android有提供dx工具可以class文件转换为dex文件


三.dex优化odex

     世界总是在不断进步的,dex文件被优化后就成了odex文件,查查字典odex的首字母o就是optimize,优化的意思。odex全称是optimize dalvik package(优化的dalvik包),别问我dalvik是什么意思,我会告诉你他是android虚拟机的名称吗?


四.ROM的“odex化”

    各位客官买的手机android手机第一次开机是不是都比较慢呢?这个慢一个大的原因就是手机正在做odex优化。

    例如以上面的微信为例,如果手机厂商预装微信,要怎么做的?

    方法一:手机生产出来后,各大厂弟厂妹们开机然后手动下载微信,然后手动安装

    方法二:将weixin.apk打包进刷机包,厂弟厂妹们负责刷机。

    各大厂商用的是方法二,方法一纯属虚构。

    weixin.apk打包进刷机包后,第一次开机,android系统会解压这个apk,然后将class.dex文件转化为weizin.odex文件,正是这个转化过程相当耗时。

    那如果解决这个耗时的问题呢?聪明的你应该想到了。既然这个转化过程是在开机的时候做的,能不能在制作刷机包的时候就做了呢?“odex化”就是将微信的odex文件制作好之后,直接打包进刷机包,这样子的话,开机就不会管这个微信了。

    说的更加大白话一点就是,没做“odex化”的手机第一次开机要安装一次微信,而做了“odex化”的手机相当于第一次开机前已经安装好微信了。那开机过程少了一次安装apk的时间,当然快一点啦。

   具体实操过程就是:解压出weixin.apk的class.dex,然后使用工具将class.dex转化为class.odex,然后将apk内的class.dex删除,替换为class.odex.完成。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值