设为首页收藏本站

移动叔叔

搜索
查看: 2015|回复: 0
打印 上一主题 下一主题

[教程] 关于ROM制作中 有无odex的rom区别

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-5 12:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是Odex?
【O
dex是安卓上的应用程序apk中提取出来的可运行文件,是通过apk安装包的中的dex优化过的,再把apk包里的dex文件删除。这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。
什么是
dalvik-cache
Android启动时,DalvikVM监视所有的程序(APK文件)和框架,并且为他们创建一个依存关系树。DalvikVM通过这个依存关系树来为每个程序优化代码并存储在Dalvik缓存中。这样,所有程序在运行时都会使用优化过的代码。这就是当你刷一个新的ROM时,有时候第一次启动时间非常非常长的原因。当一个程序(或者框架库)发生变更,DalvikVM将会重新优化代码并且再次将其存在缓存中。在cache/dalvik-cache是存放system上的程序生成的dex文件,而data/dalvik-cache则是存放data/app生成的dex文件。
而做Deodex会在cache/dalvik-cache是产生存放system上的程序生成的dex文件

所谓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,比较麻烦。


ODEX的效果
个人经验,ODEX化后系统启动和程序运行速度大大提高,稳定性不变。因此推荐做ODEX化。

如何ODEX化
1、直接使用ODEX化的MOD包,优点:部分MOD连jar文件都ODEX了,性能很优
2、如果使用的是未ODEX化的MOD或者自己后续安装了很多软件,可以使用这个软件对位于system\app和、data\app下程序进行ODEX处理。
使用方法:
1、USB连接手机,保持USB调试激活
2、进入RE等文件管理程序,令system\app目录处于“读写”状态
3、在PC段使用本程序进行ODEX处理
a、选1、2可对system和data下的app分别进行odex化
b、删除程序或者自动更新程序后,会残留老版本的ODEX文件,可以用5删除
c、更新程序或安装新程序后,可以对新增加的程序进行ODEX话,选3就可以了




原帖1.:http://www.in189.com/thread-289416-1-1.html


    2.:http://bbs.apkol.com/thread-23874-1-1.html


    3.:http://bbs.hiapk.com/thread-1356211-1-1.html



仅仅献给不知道rom有无odex或者疑惑李大和Y大的rom的区别的机油。也对做李大和Y大rom美化的机油提供一点帮助~~

您需要登录后才可以回帖 登录 | 注册

手机优惠
配件 >>更多
玩机QQ群

    © 2008-2024 移动叔叔. 版权所有,专业的网络售后平台 ( 闽ICP备18006692号-3 )

    商务合作点击这里给我发消息|Email:service@mobileuncle.com|手机版|移动叔叔     

    GMT+8, 2024-11-23 00:29 , Processed in 0.211812 second(s), 10 queries , Gzip On, Memcache On.

    返回顶部