首页 文章

为什么需要不对齐的apk?

提问于
浏览
150

Android gradle在两个二进制文件中生成apk:未对齐和对齐 .

document说......

使用私钥对APK进行签名后,在文件上运行zipalign . 此工具确保所有未压缩数据以相对于文件开头的特定字节对齐方式开始 . 确保在4字节边界处对齐可在设备上安装时提供性能优化 . 对齐后,Android系统能够使用mmap()读取文件,即使它们包含具有对齐限制的二进制数据,而不是复制包中的所有数据 . 好处是减少了正在运行的应用程序所消耗的RAM量 .

看起来像对齐apk强烈建议分发 . 对我来说,我只使用对齐的apk作为结果产品,并忽略未对齐的apk .

unaligned apk在开发过程中有什么特殊用途吗?

2 回答

  • 197

    这是一个两步的过程 . 未对齐的apk只是一个中间产品 .

    • 生成未对齐的apk

    • 未对齐得到对齐并生成对齐的apk

  • 49

    需要未对齐(签名)的APK,因为签署对齐的apk将撤消对齐 .

    来自docs

    注意:只有在使用您的私钥对.apk文件进行签名后才能执行zipalign . 如果在签名之前执行zipalign,则签名过程将撤消对齐 .

    有关更多信息,请参阅this answer . Here是详细的构建过程:
    enter image description here

相关问题