Android Aligned Unaligned Apk


在编译Android app时,我们经常会看到debug得到的apk中,既有 app-debug.apk, 也有app-debug-unaligned.apk。

那么他们有什么不同呢?为什么又会有 unaligned的版本呢?


首先,我们应该明白一点:不管是app-debug.apk 还是 app-debug-unaligned.apk,都是signed apk。

也即是, 

app-debug-unaligned.apk = unaligned signed apk

app-debug.apk = aligned signed apk

aligned apk基于zipalign进行了优化。


为什么为产生unaligned apk ?


其实,unaligned apk只是一个中间产物。

编译过程中,会先产生unaligned apk,之后对unaligned apk进行对齐优化产生 aligned apk。


要知道,Android app签名的流程如下:

--> 生成 private key  (keytool 完成)

--> 编译生成unsigned apk  (状态:未对齐,未签名)

--> 用private key进行签名 (jarsinger完成)  (状态:未对齐,签名)

--> 使用zipalign进行签名 (状态:对齐,签名)


apk只有在签名之后才能使用zipalign进行优化。如果在签名之前就进行align优化,那么在签名时会回退之前的align操作。

因此会先进行签名,在进行align优化。因而中间会产生 unaligned signed apk (app-debug-unaligned.apk).



aligned apk的优势是什么?

aligned apk对ram使用进行了优化,可以减少app运行时的ram占用。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值