Android apk优化 zipalign

google原文介绍:https://developer.android.com/studio/command-line/zipalign.html

Zipalign是一个Android应用程序(APK)文件的归档对齐工具,目的是确保所有未压缩的数据以相对于文件开头的特定对齐开始,它会导致APK内的所有未压缩数据(如图像或原始文件)在4字节边界上对齐。zipalign使用了4字节的边界对齐方式来影射内存,通过空间换时间的方式提高执行效率。

大致原理:按着有利于系统处理的排列方式,对我们apk中的资源文件进行排列,提高资源的查找速度,从而去提高应用的运行效率。

Google在官方文档中也说了:

This tool should always be used to align your APK file before distributing it to end-users. The Android build tools can handle this for you. Android Studio automatically aligns your APK.

应该始终使用此工具来将您的APK文件对齐,然后再分发给最终用户。 Android构建工具可以为您解决这个问题。Android Studio会自动对齐您的APK。

同时也提到了需要注意的,否则对齐之后会产生没有签名的后果:

Caution: You must use zipalign at one of two specific points in the app-building process, depending on which app-signing tool you use:

If you use apksigner, zipalign must only be performed before the APK file has been signed. If you sign your APK using apksigner and make further changes to the APK, its signature is invalidated.

If you use jarsigner, zipalign must only be performed after the APK file has been signed.

大致意思是:

1.如果你使用的是apksigner进行签名,只能在APK文件签名之前执行zipalign。

2.如果你使用jarsigner,则只能在APK文件签名后执行zipalign。

Usage:

zipalign使用:

-c :检查.apk文件是否zipalign优化过

-f :覆盖已经存在的文件

-p :页面对其存储对象文件

-v :输出优化后的详细信息 xx.apk

-z :将使用Zopfli

zipalign -v 4 input.apk output.apk

apksigner使用:

apksigner sign --ks keystone.jks --ks-key-alias alias --ks-pass pass:111111 --out output.apk input.apk

keystone.jks,alias,pass 用你自己的签名文件秘钥替代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值