揭秘ODEX——有ODEX版ROM与无ODEX版ROM区别

什么是Odex?

    所谓Odex,是由android软件中的classes.dex生成的,Odex化即是把那个文件预先提取出来作用是能加快软件加载速度和开机速度。不过Odex也有缺点,那就是有时候加刷东西会出现问题。
看懂了吗?用我的理解,简单说,原本系统每次执行APK都需要先提取一部分出来,而Odex化就是现在你提前把它提取出来了。系统启动或者程序运行加快的原因也就在此。而由于提取了Odex出来,会占用一部分存储空间,所以做Odex化的时候需要考虑空间方面的问题。

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  (简单地来说,其实就上一个合并的过程)

Odex的优点:
    1.刷完机首次进入系统的时间会缩短一些。文件的运行速度应该也有所提升。
    2.APK文件不能单独安装,并且如果反编译APK文件,一般也只能得到资源文件。可以说是起到一定的保护作用,避免被肆意修改和使用。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的。
    3.会增加一些可安装应用的空间,虽然不是很多
。(这个我没发现)


Odex的缺点:
    1.不方便修改ROM以及文件本身。
    2.增加ROM包的体积,虽然不是很多。
    3.当你升级某个被Odex的应用后,这个应用将会出现故障,最常见的就是FC。
  
而现在的定制rom之所以基本上都是deodex化(无odex文件)的是因为:
    1. 可以适当减小文件的体积,起到节省rom空间的作用;
    2.主要方便rom定制者对rom的个性化定制和移植;apk相对容易反编译和修改,而odex先要解包成smali然后才能生成classes.dex,如果要再生成odex,还要用dexopt-wrapper,比较麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值