android 中的 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值