apk、dex、odex梳理

APK(Android package):android安装包,由aapt(Android Assert Packaging Tool)把AndroidManifest.xml、资源文件、dex(二进制字节码)文件组合而成。将apk文件修改扩展名为rar,然后解压可已看到目录如下:



METE-INF:存放应用签名证书等信息

res:存放资源文件

AndroidManifest.xml:应用配置文件

classes.dex:应用程序二进制字节码文件

resources.arsc:二进制资源文件


dex(Dalvik VM Excutors):Dalvik虚拟机执行程序,执行前需要优化。


odex(optimizy Dalvik VM Excutors):Dalvik虚拟机执行程序dex文件前,系统会对dex文件做优化,生成可执行文件odex,保存到data/dalvik-cache目录,最后把apk文件中的dex文件删除。

优点:

1.减少了启动时间(省去了系统第一次启动应用时从apk文件中读取dex文件,并对dex文件做优化的过程。)和对RAM的占用(apk文件中的dex如果不删除,同一个应用就会存在两个dex文件:apk中和data/dalvik-cache目录下)。

2.防止第三方用户反编译系统的软件(odex文件是跟随系统环境变化的,改变环境会无法运行;而apk文件中又不包含dex文件,无法独立运行)。


缺点:

1.占用一定的rom,但不是太大

2.不便修改rom及文件(不是太懂)

3.升级被odex的应用,容易出现FC(弹出提示框“等待”或“关闭”)


deodex:第三方的rom,基本上都是deodex的,即apk中直接包含.dex文件,启动应用时从apk中读取dex文件并对之odex优化。

优点:

1.减少rom的占用(没有保存dex到data/dalvik-cache)

2.便于rom的个性化定制和移植;

3.apk便于反编译和修改(升级时不会因为文件位置问题导致FC)


缺点:

1.启动较慢,每次启动应用都要从apk文件中解析dex文件




  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值