android 6.0 是否还有*.odex 文件?

Android 6.0 启用ART 代替davilk。那么原生的Android中,编译一个APK,貌似都没有对应的odex文件生成了... ...
Android 6.0 现在是不是没有使用odex文件了?那么如果需要提升手机第一次或者恢复出厂设置后的以第一次开机的速度,可以怎么优化?

有很多时候,我们在修改bug的时候,发现代码明明修改了,
编译也ok了,但是将编译的结果 push 到手机上去之后,发现经常没效,纳闷了……

经常是odex 在作怪:
ODEX是安卓上的应用程序apk中提取出来的可运行文件,是通过apk安装包的中的dex优化过的,再把apk包里的dex文件删除。   
这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。

譬如我们进到 system/app 目录下,经常会发现有一个apk文件,与之对应的有一个同文件名的odex文件。
如果我们想只重新 push Camera.apk system/app 目录下,而没有删除掉与之对应的 Camera.odex 文件,
想看到我们代码里面修改应有的效果的话,那就不太可能了。
因为真正在虚拟机上跑的是 odex 文件,如果系统发现已经有了 odex 文件了,那么就不会再从 apk 包里面去解压出来一个了。
那么我们 push 到手机的 apk 也没有什么意义了。

固需要在push 之前或之后,先删除掉与之同名的 odex 文件再重新启动对应的 apk ,才会看到代码修改是否有效。
如果想要深入了解 odex ,可以参考:http://baike.baidu.com/view/7784265.htm
如果这还不够,可以看看Android Dalvik 虚拟机:http://download.csdn.net/detail/fulinwsuafcie/4421681追问

明显是copy过来的···

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网