什么是ODEX?ROM一键odex化

来源:网络时间:2012-02-28

  什么是ODEX?

  ODEX是安卓上的应用程序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文件。

  准备工作:

  用Recovery进行一个备份,预防出现意外,不能开机。

  请确定你的电脑可以正常连接手机调试模式。

  请确定你的system有10~20M空余。

  说明:

  Android系统中运行的程序包主要分framework,system/app,data/app,三个路径,开机的时候启动内核后,就会逐个启动framework里的jar框架程序,再启动system/app的开机自启程序。

  如果你想把整个ROM都odex化,就必须先将framework的先做,因为在odex过程中,需要依赖framework进行。而且在odex framework时,每个文件都要严格按照顺序,否则不能开机。如果你在其他app做了odex,Sorry,你不能odex framework。

  下载附件解压,执行odex.bat,选在你想要的操作,如果你想将整个ROM odex化,必须先选择framework,然后system,data,如果你不想odex framework,可以直接跳过,但是你以后都不能odex framework。

  【更新】

  odex framework更新自动删除dex文件。

  这个脚本更新可以重复使用,也就是你odex一遍后,自己添加了apk或者二级框架程序(jar,譬如google.map.jar),可以使用这个脚本单独对这些odex,不会影响其他已经odex的程序。

  完成会自动重启,开机时系统应该会自动删除cache分区的dex文件的,然后再重启一次的,没删掉也不要紧,因为这个脚本也会帮你删除,直到你能开机,才把这个CMD窗口关闭。

[展开全部↓]

相关攻略

查看更多
发表评论

最新评论(共2条)

2345市网友

好东西,正想要

2012-05-16 0

回复@2345网友:

  • 取消

2345市网友

不错,但是附件呢?

2012-04-09 0

回复@2345网友:

  • 取消