首先要清楚,odex只是对代码段(我将dex文件与elf文件类比,大家都将执行文件分成不同的段)作优化,而其它用于类反射信息的段都应用原来的dex,所以odex文件内部还包含了一个dex. 打开一个dex或一个odex文件,就是要将其中用于类反射的信息加载到虚拟机运行时中.对于打开一个odex文件,目的也是要将其中包含的dex部分的信息进行加载. dalvik(libdvm.so)打开dex文件,实质就是要将dex里的反射信息加载到一个DexFile组织的结构体.这个结构有一个查找表,DexCl…