dex
这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。
当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的程序。
dex的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define ...
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define ... 这个错误是因为有两个相 ...
- Android DEX 基础
转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/5736305.html本文出自[赵彦军的博客] 1.什么是dex? 简单说就是优化后的android版.exe ...
- Android开发 Error:The number of method references in a .dex file cannot exceed 64K.
在Android系统中,一个App的所有代码都在一个Dex文件里面.Dex是一个类似Jar的存储了多有Java编译字节码的归档文件.因为Android系统使用Dalvik虚拟机,所以需要把使用Java ...
- dex文件格式三
先来看看整体的结构,结构体定义在DexFile.h里面 在dexFileSetupBasicPointers中设置各个子结构体,当然是在解析DexHeader之后 源码在DexFile.c文件中 ...
- 导入项目时,有关[2016-04-03 20:38:02 - Dex Loader] Unable to execute dex: Multiple dex files 问题
最近我在学习androidUI设计,在网上找了一个UI菜单界面开源代码示例,按照步骤导入项目,运行的时候控制台结果报了如下错误: [2016-04-03 20:38:02 - Dex Loader] ...
- dex文件格式一
一.生成dex文件 我们可以通过java文件来生成一个简单的dex文件 编译过程: 首先编写java代码如下: (1) 编译成 java class 文件 执行命令 : javac Hello.jav ...
- dex文件格式二
一. dex文件头 (1) magic value 在DexFile.c dexFileParse函数中 会先检查magic opt 啥是magic opt呢? 我们刚刚从cache目录拷贝出来的 ...
- Multiple dex files define Lcom/google/zxing/BarcodeFormat
解决zxing “Could not find class 'com.goole.zxing.Result”和“Multiple dex files define”问题 时间 2014-04-24 1 ...
- Unable to execute dex: GC overhead limit exceeded
Android打包时下面的错误: Unable to execute dex: GC overhead limit exceeded GC overhead limit exceeded 解决的方法: ...
随机推荐
- STM32普通定时器实现延时函数
/* SystemFrequency / 1000 1ms中断一次 * SystemFrequency / 100000 10us中断一次 * SystemFrequency / 1000000 1u ...
- 关于const
1.顶层const和底层const const修饰的对象本身是常量,则为顶层const,否则为底层const 如: const int a=10; //a是int常量,顶层const i ...
- 用例图 UseCase Diagram
从上面的用例图模型,我们可以大致了解用例图所描述的是什么.下面进行详细介绍. 用例图,即用来描述什么角色通过某某系统能做什么事情的图,用例图关注的是系统的外在表现,系统与人的交互,系统与其它系统的交互 ...
- Palindrome Partitioning
Palindrome Partitioning Given a string s, partition s such that every substring of the partition is ...
- Careercup - Google面试题 - 5205167846719488
2014-05-03 23:35 题目链接 原题: For a given node in binary search tree find a next largest number in searc ...
- Careercup - Facebook面试题 - 5435439490007040
2014-05-02 07:37 题目链接 原题: // merge sorted arrays 'a' and 'b', each with 'length' elements, // in-pla ...
- [转载+原创]Emgu CV on C# (三) —— Emgu CV on 均衡化
本文简要描述了均衡化原理及数学实现等理论问题,最终利用emgucv实现图像的灰度均衡. 直方图的均衡化,这是图像增强的常用方法. 一.均衡化原理及数学实现(转载) 均衡化原理及数学实现可重点参看——& ...
- Codeforces Round #358 (Div. 2) D. Alyona and Strings 字符串dp
题目链接: 题目 D. Alyona and Strings time limit per test2 seconds memory limit per test256 megabytes input ...
- ASP文件操作(FSO)详解
实例一:写入文件 语法 object.CreateTextFile([要建立的文件],[如存在,是否替代]) <% Set fs =Server.CreateObject("Scrip ...
- PHP之implode与explode函数讲解
implode (PHP 4, PHP 5) implode — 将一个一维数组的值转化为字符串 说明¶ string implode ( string $glue , array $pieces ) ...