打开一个apk,里面有很多个文件夹和文件,一般在layout负责界面,value负责字体颜色和文字显示等。odex是整个apk的核心部分,负责功能实现,deodex就是把odex文件以classes.dex的形式和apk整合成一个文件。
一般来说官方rom都是odex的rom,而定制rom大部分都是deodex化的。两者应该各有优点吧,貌似现在也没有统一的说法。官方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化的是因为:
1. 可以适当减小文件的体积,起到节省rom空间的作用;
2.主要方便rom定制者对rom的个性化定制和移植;apk相对容易反编译和修改,而odex先要解包成smali然后才能生成classes.dex,如果要再生成odex,还要用dexopt-wrapper,比较麻烦。
我个人感觉,如果只是简单的使用,不美化,不经常修改system/app下的文件的人,对系统文件进行ODEX化,应该是能起到一定的优化作用的,而现在大部分的安装应用程序都是单个apk文件,升级也不会有FC的问题。
zipalign
在你的应用程序上运行zipalign,使得在运行时Android与应用程序间的交互更加有效率。因此,这种方式能够让应用程序和整个系统运行得更快。在lAndroid中,当资源文件通过内存映射对齐到4字节边界时,访问资源文件的代码才是有效率的。zipalign 可以简单优化APP.
来源:
http://blog.sina.com.cn/s/blog_74721dbb0100vfa9.html
分享到:
相关推荐
"android_deodex_lollipop"是一个针对Android Lollipop系统进行反Odex处理的过程,即去除Odex文件并转换回未优化的Dex文件。这个过程的主要目的是为了方便开发者和高级用户对系统进行修改、调试或者添加自定义功能。...
一、APK生成odex文件方法: 编译开源GIT上的build/tools/dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤 将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入...
odex和apk合成dex 一、APK生成odex文件方法: 编译开源GIT上的build/tools/dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤 将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux...
在Android系统中,`.odex`(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化后的字节码,而`.dex`(Dalvik Executable)文件则是未优化的字节码,通常用于APK安装包。`.odex`文件体积更小,运行速度更快...
为apk安装包生成odex文件 使用前请先装好java环境,本程序需要java环境支持。 请打开手机的调试,并连接好电脑。 把要生成odex的apk程序放在apk目录下,apk程序名不能有空格、中文。 打开"自动生成odex",即自动...
在Android系统中,`.odex`(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化代码,它是从`.dex`(Dalvik Executable)文件经过优化处理后的产物,通常包含有编译后的字节码和一些元数据。`.odex`文件的...
一键odex2dex的工具包,若要反编译你自己的odex文件,需要你自己rom包下的system/framework下的所有文件复制到本工具包的framework目录下,并将你自己的odex文件替换成工具包里的123.odex文件
下载附件解压,执行odex.bat,选在你想要的操作,如果你想将整个ROM odex化,必须先选择1framework,然后system,data,如果你不想odex framework,可以直接跳过选2,但是你以后都不能odex framework。
在Android系统中,Odex(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化过的字节码,它将DEX(Dalvik Executable)文件预先编译为机器码,以便提高应用的启动速度和运行效率。Android 5.0(Lollipop)...
APK和ODEX是Android应用开发中的两个关键概念,它们关系到应用的性能、安装速度以及运行效率。本文将深入探讨APK优化和ODEX文件的优化策略。 首先,APK(Android Package)是Android系统中应用程序的标准打包格式,...
手机全局odex.提升手机速度 命令DEXO: + DEXO-BS(ODEX只有引导文件,引导,框架) + DEXO-FR(ODEX所有框架) + DEXO-CSA(系统ODEX只有特定的应用程序 + DEXO-SYS(系统ODEX所有的应用程序) + DEXO-FCS(系统...
我的操作系统是 WIN10 LTSB 2016的,要合并的 odex 和 Apk来自 Android TV,能找的到的工具,没有一个能够成功合并的。于是,我把找到的工具 odextools 作了修改。感谢”一键odex批量合并工具odextools“、oat2dex ...
ODEX是安卓上的应用程序apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个·dex文件单独存放,原APK中的classes.dex文件会保留的。 中文名 ODEX 类型 可运行文件 说明 安卓上...
在Android系统中,Odex(Optimized DEX)文件是Dalvik虚拟机或者ART(Android RunTime)环境为了提高应用程序的加载速度和运行效率而生成的优化过的字节码文件。它是由Android编译器对DEX(Dalvik Executable)文件...
**Android ODEX 文件详解与 ODEXing 过程** 在Android系统中,ODEX(Optimized Dalvik Executable)文件是Dalvik虚拟机的一种优化形式,用于提高应用程序的运行效率。Dalvik虚拟机是Android早期版本中使用的一种...
关于修改部分ODEX文件的理解与解析 在深入探讨“关于修改部分ODEX”这一主题之前,我们首先需要明确ODEX(Optimized Dalvik EXecutable)文件的基本概念及其在Android系统中的作用。ODEX文件是Android系统为了提高...
在Android系统中,APK和ODEX文件是两个关键组件,它们关系到应用程序的安装和运行。APK文件是Android应用程序的打包格式,包含了代码、资源、清单文件等所有必要的元素,用户通常通过Google Play或其他应用商店下载...
在Android系统中,Odex(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化过的字节码,它包含Dalvik虚拟机能够直接执行的机器码。自Android 5.0(Lollipop)开始,引入了ART(Android RunTime),它在...
"Deodex"(去Odex化)就是将Odex文件转换回未优化的Dex(Dalvik Executable)文件的过程,以便更容易地进行逆向工程和修改。 "Deodex too"是一款专门用于Deodex操作的工具,它可以帮助开发者将Odex文件转换为普通的...